SyntaxHighlightToken CreateToken(int start, int end, Color foreColor) { SyntaxHighlightProperties properties = new SyntaxHighlightProperties(); properties.ForeColor = foreColor; return(new SyntaxHighlightToken(start, end - start, properties)); }
void HighlightSyntax(TokenCollection tokens) { commentProperties = new SyntaxHighlightProperties(); commentProperties.ForeColor = syntaxColors.CommentColor; keywordProperties = new SyntaxHighlightProperties(); keywordProperties.ForeColor = syntaxColors.KeywordColor; stringProperties = new SyntaxHighlightProperties(); stringProperties.ForeColor = syntaxColors.StringColor; xmlCommentProperties = new SyntaxHighlightProperties(); xmlCommentProperties.ForeColor = syntaxColors.XmlCommentColor; textProperties = new SyntaxHighlightProperties(); textProperties.ForeColor = syntaxColors.TextColor; if (tokens == null || tokens.Count == 0) { return; } Document document = syntaxEditor.Document; //CharacterProperties cp = document.BeginUpdateCharacters(0, 1); List <SyntaxHighlightToken> syntaxTokens = new List <SyntaxHighlightToken>(tokens.Count); foreach (Token token in tokens) { HighlightCategorizedToken((CategorizedToken)token, syntaxTokens); } document.ApplySyntaxHighlight(syntaxTokens); //document.EndUpdateCharacters(cp); }
void AddTokensMapping(TokenCategory category, Color foreColor) { SyntaxHighlightProperties tokenProperties = new SyntaxHighlightProperties(); tokenProperties.ForeColor = foreColor; TokensMapping.Add(category, tokenProperties); }
void Add(TokenCategory category, Color foreColor) { SyntaxHighlightProperties item = new SyntaxHighlightProperties(); item.ForeColor = foreColor; properties.Add(category, item); }
void HighlightSyntax(TokenCollection tokens) { commentProperties = new SyntaxHighlightProperties(); commentProperties.ForeColor = syntaxColors.CommentColor; keywordProperties = new SyntaxHighlightProperties(); keywordProperties.ForeColor = syntaxColors.KeywordColor; stringProperties = new SyntaxHighlightProperties(); stringProperties.ForeColor = syntaxColors.StringColor; xmlCommentProperties = new SyntaxHighlightProperties(); xmlCommentProperties.ForeColor = syntaxColors.XmlCommentColor; textProperties = new SyntaxHighlightProperties(); textProperties.ForeColor = syntaxColors.TextColor; Document document = syntaxEditor.Document; List <SyntaxHighlightToken> syntaxTokens = new List <SyntaxHighlightToken>(tokens.Count); foreach (Token token in tokens) { var categorizedToken = token as CategorizedToken; if (categorizedToken != null) { HighlightCategorizedToken(categorizedToken, syntaxTokens); } } if (syntaxTokens.Count > 0) { document.ApplySyntaxHighlight(syntaxTokens); } }
void Add(TokenCategory category, Color foreColor) { var item = new SyntaxHighlightProperties { ForeColor = foreColor }; _properties.Add(category, item); }
void HighlightCategorizedToken(CategorizedToken token, List <SyntaxHighlightToken> syntaxTokens) { SyntaxHighlightProperties highlightProperties = _syntaxHighlightInfo.CalculateTokenCategoryHighlight(token.Category); SyntaxHighlightToken syntaxToken = SetTokenColor(token, highlightProperties); if (syntaxToken != null) { syntaxTokens.Add(syntaxToken); } }
void HighlightCategorizedToken(CategorizedToken token, List <SyntaxHighlightToken> syntaxTokens) { Color backColor = editor.ActiveView.BackColor; SyntaxHighlightProperties highlightProperties = syntaxHighlightInfo.CalculateTokenCategoryHighlight(token.Category); SyntaxHighlightToken syntaxToken = SetTokenColor(token, highlightProperties, backColor); if (syntaxToken != null) { syntaxTokens.Add(syntaxToken); } }
public SyntaxHighlightProperties CalculateTokenCategoryHighlight(TokenCategory category) { SyntaxHighlightProperties result = null; if (properties.TryGetValue(category, out result)) { return(result); } else { return(properties[TokenCategory.Text]); } }
SyntaxHighlightToken SetTokenColor(Token token, SyntaxHighlightProperties foreColor, Color backColor) { int paragraphStart = DocumentHelper.GetParagraphStart(syntaxEditor.Document.Paragraphs[token.Range.Start.Line - 1]); int tokenStart = paragraphStart + token.Range.Start.Offset - 1; if (token.Range.End.Line != token.Range.Start.Line) { paragraphStart = DocumentHelper.GetParagraphStart(syntaxEditor.Document.Paragraphs[token.Range.End.Line - 1]); } int tokenEnd = paragraphStart + token.Range.End.Offset - 1; return(new SyntaxHighlightToken(tokenStart, tokenEnd - tokenStart, foreColor)); }
public SyntaxHighlightService(Document document) { this.document = document; _defaultSettings = new SyntaxHighlightProperties { ForeColor = Color.Black }; _keywordSettings = new SyntaxHighlightProperties { ForeColor = Color.Blue }; _stringSettings = new SyntaxHighlightProperties { ForeColor = Color.Red }; _keywords = DatabaseKeywords.KeywordsUpperSql.Union(DatabaseKeywords.KeywordsLowerSql).ToArray(); }
private SyntaxHighlightToken SetTokenColor(Token token, SyntaxHighlightProperties foreColor, Color backColor) { if (editor.Document.Paragraphs.Count < token.Range.Start.Line) { return(null); } int paragraphStart = DocumentHelper.GetParagraphStart(editor.Document.Paragraphs[token.Range.Start.Line - 1]); int tokenStart = paragraphStart + token.Range.Start.Offset - 1; if (token.Range.End.Line != token.Range.Start.Line) { paragraphStart = DocumentHelper.GetParagraphStart(editor.Document.Paragraphs[token.Range.End.Line - 1]); } int tokenEnd = paragraphStart + token.Range.End.Offset - 1; System.Diagnostics.Debug.Assert(tokenEnd > tokenStart); return(new SyntaxHighlightToken(tokenStart, tokenEnd - tokenStart, foreColor)); }
SyntaxHighlightToken SetTokenColor(Token token, SyntaxHighlightProperties foreColor, Color backColor) { if (syntaxEditor.Document.Paragraphs.Count < token.Range.Start.Line) { return(null); } int paragraphStart = syntaxEditor.Document.Paragraphs[token.Range.Start.Line - 1].Range.Start.ToInt(); int tokenStart = paragraphStart + token.Range.Start.Offset - 1; if (token.Range.End.Line != token.Range.Start.Line) { paragraphStart = syntaxEditor.Document.Paragraphs[token.Range.End.Line - 1].Range.Start.ToInt(); } int tokenEnd = paragraphStart + token.Range.End.Offset - 1; Debug.Assert(tokenEnd > tokenStart); return(new SyntaxHighlightToken(tokenStart, tokenEnd - tokenStart, foreColor)); }
void HighlightSyntax(TokenCollection tokens) { if (TokensMapping.Count == 0) { AddTokensMapping(TokenCategory.HtmlAttributeName, Color.Red); AddTokensMapping(TokenCategory.HtmlAttributeValue, Color.Blue); AddTokensMapping(TokenCategory.HtmlComment, Color.Green); AddTokensMapping(TokenCategory.HtmlElementName, Color.Brown); AddTokensMapping(TokenCategory.HtmlEntity, Color.Green); AddTokensMapping(TokenCategory.HtmlOperator, Color.Blue); AddTokensMapping(TokenCategory.HtmlServerSideScript, Color.Gray); AddTokensMapping(TokenCategory.HtmlString, Color.Black); AddTokensMapping(TokenCategory.HtmlTagDelimiter, Color.Blue); AddTokensMapping(TokenCategory.CssComment, Color.Green); AddTokensMapping(TokenCategory.CssKeyword, Color.Red); AddTokensMapping(TokenCategory.CssPropertyName, Color.Red); AddTokensMapping(TokenCategory.CssPropertyValue, Color.Blue); AddTokensMapping(TokenCategory.CssSelector, Color.Brown); AddTokensMapping(TokenCategory.CssStringValue, Color.Blue); textProperties = new SyntaxHighlightProperties(); textProperties.ForeColor = Color.Black; } if (tokens == null || tokens.Count == 0) { return; } Document document = syntaxEditor.Document; List <SyntaxHighlightToken> syntaxTokens = new List <SyntaxHighlightToken>(tokens.Count); foreach (Token token in tokens) { HighlightCategorizedToken((CategorizedToken)token, syntaxTokens); } document.ApplySyntaxHighlight(syntaxTokens); }
private void AddTokensByRegexPattern(List <SyntaxHighlightToken> tokens, string regexPattern, SyntaxHighlightProperties settings) { var regex = new Regex(regexPattern, RegexOptions.CultureInvariant); var ranges = document.FindAll(regex); for (int i = 0; i < ranges.Length; i++) { tokens.Add(new SyntaxHighlightToken(ranges[i].Start.ToInt(), ranges[i].End.ToInt() - ranges[i].Start.ToInt(), settings)); } }
void Add(TokenCategory category, Color foreColor) { var item = new SyntaxHighlightProperties{ForeColor = foreColor}; _properties.Add(category, item); }
SyntaxHighlightToken SetTokenColor(Token token, SyntaxHighlightProperties foreColor) { if (_editor.Control.Document.Paragraphs.Count < token.Range.Start.Line) return null; int paragraphStart = DocumentHelper.GetParagraphStart(_editor.Control.Document.Paragraphs[token.Range.Start.Line - 1]); int tokenStart = paragraphStart + token.Range.Start.Offset - 1; if (token.Range.End.Line != token.Range.Start.Line) paragraphStart = DocumentHelper.GetParagraphStart(_editor.Control.Document.Paragraphs[token.Range.End.Line - 1]); int tokenEnd = paragraphStart + token.Range.End.Offset - 1; System.Diagnostics.Debug.Assert(tokenEnd > tokenStart); return new SyntaxHighlightToken(tokenStart, tokenEnd - tokenStart, foreColor); }
private SyntaxHighlightToken SetTokenColor(Token token, SyntaxHighlightProperties foreColor, Color backColor) { if (syntaxEditor.Document.Paragraphs.Count < token.Range.Start.Line) { return null; } int paragraphStart = DocumentHelper.GetParagraphStart(syntaxEditor.Document.Paragraphs[token.Range.Start.Line - 1]); int tokenStart = paragraphStart + token.Range.Start.Offset - 1; if (token.Range.End.Line != token.Range.Start.Line) { paragraphStart = DocumentHelper.GetParagraphStart(syntaxEditor.Document.Paragraphs[token.Range.End.Line - 1]); } int tokenEnd = paragraphStart + token.Range.End.Offset - 1; Debug.Assert(tokenEnd > tokenStart); return new SyntaxHighlightToken(tokenStart, tokenEnd - tokenStart, foreColor); }
private void HighlightSyntax(TokenCollection tokens) { commentProperties = new SyntaxHighlightProperties(); commentProperties.ForeColor = syntaxColors.CommentColor; keywordProperties = new SyntaxHighlightProperties(); keywordProperties.ForeColor = syntaxColors.KeywordColor; stringProperties = new SyntaxHighlightProperties(); stringProperties.ForeColor = syntaxColors.StringColor; xmlCommentProperties = new SyntaxHighlightProperties(); xmlCommentProperties.ForeColor = syntaxColors.XmlCommentColor; textProperties = new SyntaxHighlightProperties(); textProperties.ForeColor = syntaxColors.TextColor; if (tokens == null || tokens.Count == 0) { return; } Document document = syntaxEditor.Document; //CharacterProperties cp = document.BeginUpdateCharacters(0, 1); List<SyntaxHighlightToken> syntaxTokens = new List<SyntaxHighlightToken>(tokens.Count); foreach (Token token in tokens) { HighlightCategorizedToken((CategorizedToken)token, syntaxTokens); } document.ApplySyntaxHighlight(syntaxTokens); //document.EndUpdateCharacters(cp); }