private void AddTokenStyle(EditorTextStyles style, params int[] tokens) { foreach (var token in tokens) { this.AddTokenStyle(token, style); } }
private void SyntaxColorRange(int startLine, int startColumn, int endLine, int endColumn) { var firstLine = startLine; m_editor.ClearStyles(startLine, startColumn, endLine, endColumn); if (startLine != endLine || startColumn != endColumn) { ITokenSource lexer = new Lexer(this.GetParserStream(startLine, startColumn, endLine, endColumn)); var tokens = new CommonTokenStream(lexer); tokens.Fill(); foreach (var token in tokens.GetTokens()) { EditorTextStyles style = EditorTextStyles.Normal; if (token.Type >= 0 && m_tokenStyles.Count > token.Type) { style = m_tokenStyles[token.Type]; } if (style != EditorTextStyles.Normal) { m_editor.SetStyle( style, (token.Line - 1) + firstLine, token.Column, (token.Line - 1) + firstLine, token.Column + (token.StopIndex - token.StartIndex) + 1); } } } }
private void AddTokenStyle(int token, EditorTextStyles style) { while (m_tokenStyles.Count <= token) { m_tokenStyles.Add(EditorTextStyles.Normal); } m_tokenStyles[token] = style; }
void IEditorTextControl.SetStyle(EditorTextStyles style, int startLine, int startColumn, int endLine, int endColumn) { Style editorStyle = null; switch (style) { case EditorTextStyles.Normal: break; case EditorTextStyles.Comment: editorStyle = CommentStyle; break; case EditorTextStyles.DocComment: editorStyle = CommentStyle; break; case EditorTextStyles.Keyword: editorStyle = KeywordsStyle; break; case EditorTextStyles.FileObjectName: editorStyle = FileObjectStyle; break; case EditorTextStyles.Numeric: editorStyle = NumberStyle; break; case EditorTextStyles.String: editorStyle = StringStyle; break; case EditorTextStyles.Boolean: editorStyle = KeywordsStyle; break; case EditorTextStyles.Timespan: editorStyle = TimespanStyle; break; case EditorTextStyles.DateTime: editorStyle = TimespanStyle; break; case EditorTextStyles.DataTableRow: editorStyle = DataTableRowStyle; break; case EditorTextStyles.DataTableCell: editorStyle = DataTableCellStyle; break; case EditorTextStyles.Error: editorStyle = ErrorStyle; break; case EditorTextStyles.Warning: editorStyle = ErrorStyle; break; default: //private Style KeywordsStyle = BlueStyle; //private Style FunctionNameStyle = BoldStyle; //private Style TimespanStyle = MagentaStyle; //private Style StringStyle = BrownStyle; //private Style CommentStyle = GreenStyle; //private Style NumberStyle = MagentaStyle; //private Style AttributeStyle = GreenStyle; break; } if (editorStyle != null) { var range = new Range(fastColoredTextBox, startColumn, startLine, endColumn, endLine); range.SetStyle(editorStyle); } }