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;
 }
Exemple #4
0
        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);
            }
        }