We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.

How do I create ConfigLexem for Comment statement programmatically?

 

The configuration settings for custom comments can be created as outlined in the steps below.

1. Create a ISnippetFormat for the custom comment.

2. Create a ConfigLexem associated with the comment.

3. Add the ConfigLexem to the EditControl’s Language.Lexems collection.

4. Add the ConfigLexems which are used as sub-lexems to the parent ConfigLexem.SubLexems collection.

5. Create two separate Split entries for the lexems used for opening and closing the comments, .i.e., ‘/*’ and ‘*/’.

C#

// Multi-character splits should be added to make tokenizer read them as a single word.

currentConfigLanguage.Splits.Add( "/*" );

currentConfigLanguage.Splits.Add( "*/" );

ConfigLexem commentLexem = new ConfigLexem();

commentLexem.BeginBlock = "/*";

commentLexem.EndBlock = "*/";

commentLexem.Type = FormatType.Custom;

commentLexem.FormatName = "Comment";

commentLexem.OnlyLocalSublexems = true;

commentLexem.IsComplex = true;

commentLexem.IsCollapsable = true;

commentLexem.CollapseName = "/*...*/";

ConfigLexem commentSubLexem = new ConfigLexem();

commentSubLexem.BeginBlock ="\\n";// or @"\n"

commentSubLexem.IsBeginRegex = true;

commentSubLexem.Type = FormatType.Custom;

commentSubLexem.FormatName = "Comment";

commentSubLexem.ParentConfig = commentLexem;

commentLexem.SubLexems.Add(commentSubLexem);

// Configuration lexems can not be placed into two or more containers

currentConfigLanguage.Lexems.Add(commentLexem);

currentConfigLanguage.ResetCaches();

// Configuration should be applied just once, and just after it is completely created.

this.editControl1.ApplyConfiguration(currentConfigLanguage);

VB

' Multi-character splits should be added to make tokenizer read them as a single word.

currentConfigLanguage.Splits.Add("/*")

currentConfigLanguage.Splits.Add("*/")

Dim commentLexem As ConfigLexem = New ConfigLexem()

commentLexem.BeginBlock = "/*"

commentLexem.EndBlock = "*/"

commentLexem.Type = FormatType.Custom

commentLexem.FormatName = "Comment"

commentLexem.OnlyLocalSublexems = True

commentLexem.IsComplex = True

commentLexem.IsCollapsable = True

commentLexem.CollapseName = "/*...*/"

Dim commentSubLexem As ConfigLexem = New ConfigLexem()

commentSubLexem.BeginBlock ="\n" ' or @"\n"

commentSubLexem.IsBeginRegex = True

commentSubLexem.Type = FormatType.Custom

commentSubLexem.FormatName = "Comment"

commentSubLexem.ParentConfig = commentLexem

commentLexem.SubLexems.Add(commentSubLexem)

' Configuration lexems can not be placed into two or more containers

currentConfigLanguage.Lexems.Add(commentLexem)

currentConfigLanguage.ResetCaches()

' Configuration should be applied just once, and just after it is completely created.

Me.editControl1.ApplyConfiguration(currentConfigLanguage)

Article ID: Published Date: Last Revised Date: Platform: Control:
386 04/30/2011 07/10/2014 Windows Forms EditControl
Tags:
Did you find this information helpful?
Add Comment
You must log in to leave a comment

You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.