Пример #1
0
        private void scintilla_StyleNeeded(Scintilla scintilla, StyleNeededEventArgs e)
        {
            var startPos = scintilla.GetEndStyled();
            var endPos   = e.Position;

            cSharpLexer.Style(scintilla, startPos, endPos);
        }
Пример #2
0
        private void StyleSyntax(StyleNeededEventArgs e)
        {
            var fromIndex = sourceField.GetEndStyled();
            var toIndex   = e.Position;

            try
            {
                var tokens = Core.Tokens.Lexer.Tokenize(sourceField.GetTextRange(fromIndex, toIndex - fromIndex));

                foreach (var token in tokens)
                {
                    var location = token.Location.Character + fromIndex;

                    if (IsKeyword(token))
                    {
                        sourceField.StartStyling(location);
                        sourceField.SetStyling(token.LiteralValue.Length, STYLE_KEYWORD);
                    }
                    if (token.Type == TokenType.Identifier)
                    {
                        sourceField.StartStyling(location);
                        sourceField.SetStyling(token.LiteralValue.Length, STYLE_IDENTIFIER);
                    }
                    if (token.Type == TokenType.StringLiteral)
                    {
                        sourceField.StartStyling(location);
                        sourceField.SetStyling(token.LiteralValue.Length, STYLE_STRINGLITERAL);
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
Пример #3
0
        private void scintQry_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            var startPos = scintQry.GetEndStyled();
            var endPos   = e.Position;

            mdxlexer.Style(scintQry, startPos, endPos);
        }
Пример #4
0
        private void Editor_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            var startPos = editor.GetEndStyled();
            var endPos   = e.Position;

            lexer.Style(editor, startPos, endPos);
        }
Пример #5
0
        private void scintilla1_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            var startPos = scintilla1.GetEndStyled();
            var endPos   = e.Position;

            madsLexer.Style(scintilla1, startPos, endPos);
        }
Пример #6
0
        private void EditorStyleNeeded(object sender, StyleNeededEventArgs e)
        {
            statement = new CommandParser(ContinuationStatement?.Clone()).Parse(commandEditor.Text);
            commandEditor.Styles.ClearStyles(0);

            if (statement == null)
            {
                return;
            }

            if (statement.Location.End != statement.Location.Start)
            {
                commandEditor.Styles.StyleRange(StandardStyle.Keyword, 0,
                                                statement.Location.Start, statement.Location.End);
            }

            if (statement.HasArguments)
            {
                foreach (var a in statement.Arguments)
                {
                    commandEditor.Styles.StyleRange(StandardStyle.KeywordSpecial, 0,
                                                    a.Location.Start, a.Location.End);
                }
            }
        }
Пример #7
0
        private void codeEditor_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            var startPos = this.GetEndStyled();
            var endPos   = e.Position;

            tktxmLexer.Style(this, startPos, endPos);
        }
Пример #8
0
 /// <summary>
 /// 自定义高亮
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void scintilla_StyleNeeded(object sender, StyleNeededEventArgs e)
 {
     // var startPos = TextEditor.GetEndStyled();
     // var endPos = e.Position;
     //// App.Locator.Main.AddLogMsg($"{startPos++},{endPos}");
     // cSharpLexer.Style(TextEditor, startPos, endPos);
 }
Пример #9
0
 private void EditorView_StyleNeeded(object sender, StyleNeededEventArgs e)
 {
     if (iscustomelexerinit)
     {
         LexerInitializer.StyleNeeded((Scintilla)sender, e.Range);
     }
 }
Пример #10
0
        void scintilla_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            var startPos = scintilla.GetEndStyled();
            var endPos   = e.Position;

            rdlLexer.StyleText(scintilla, startPos, endPos);
        }
Пример #11
0
        private void OnStyleNeeded(object sender, StyleNeededEventArgs e)
        {
            int startPos = textArea.GetEndStyled();
            int endPos   = e.Position;

            SetStyle(startPos, endPos);
        }
Пример #12
0
        /////////////////////
        /// EDITOR EVENTS ///
        /////////////////////

        //Triggered when the editor needs to be styled.
        private void editorStyleNeeded(object sender, StyleNeededEventArgs e)
        {
            //Get active editor, call lexer.
            var editor = GetActiveEditor();

            ArmLexer.Style(editor, editor.GetEndStyled(), e.Position);
        }
Пример #13
0
        private void TB_TargetRaw_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            var box      = (Scintilla)sender;
            int startPos = box.GetEndStyled();
            int endPos   = e.Position;

            yLex.Style(box, startPos, endPos);
        }
Пример #14
0
 private void scintilla_StyleNeeded(object sender, StyleNeededEventArgs e)
 {
     // Style the _text
     if (_iniLexer)
     {
         SCide.IniLexer.StyleNeeded((Scintilla)sender, e.Range);
     }
 }
Пример #15
0
    private void scintilla_StyleNeeded(object sender, StyleNeededEventArgs e)
    {
        var scintilla = (ScintillaNET.Scintilla)sender;
        var startPos  = scintilla.GetEndStyled();
        var endPos    = e.Position;

        _lexer.Style(scintilla, startPos, endPos);
    }
Пример #16
0
        private void scintilla_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            Scintilla scintilla = sender as Scintilla;

            int startPos = scintilla.GetEndStyled();
            int endPos   = e.Position;

            psmLexer.Style(scintilla, startPos, endPos);
        }
Пример #17
0
        private void SearchBoxStyling(object sender, StyleNeededEventArgs e)
        {
            SearchBox.Styles.ClearStyles(0);

            var style = InputInvalid ? StandardStyle.Error
                : UseRegex ? StandardStyle.Regex : StandardStyle.Default;

            SearchBox.Styles.StyleRange(style, 0, 0, SearchBox.Lines[0].Length);
        }
Пример #18
0
        //int needed = 1;
        private void txtMail_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            var startPos = txtMail.GetEndStyled();
            var endPos   = e.Position;

            qpLexer.Style(txtMail, startPos, endPos);
            //lblStatus.Text = "needed" + needed.ToString();
            //needed++;
        }
Пример #19
0
        //Code Styling
        private void editor_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            //var startPos = editor.GetEndStyled();
            //var endPos = e.Position;

            var startPos = 0;
            var endPos   = editor.TextLength;

            Lexer.Style(editor, startPos, endPos);
        }
Пример #20
0
 private void Lex(object sender, StyleNeededEventArgs e)
 {
     if (lexer != null)
     {
         foreach (var t in lexer.Parse(e.Text))
         {
             e.AddStyleItem(t.Position, t.Length, t.StyleKey);
         }
     }
 }
Пример #21
0
        private void Lex(object sender, StyleNeededEventArgs e)
        {
            var lexer  = new OutputLexer();
            var tokens = lexer.Parse(e.Text).ToList();

            if (!styling)
            {
                tokens = tokens.Where(t => t.StyleKey == TextStyle.Invisible).ToList();
            }

            tokens.ForEach(t => e.AddStyleItem(t.Position, t.Length, t.StyleKey));
        }
Пример #22
0
        protected virtual void Lex(object sender, StyleNeededEventArgs e)
        {
            if (!Styling)
            {
                return;
            }

            e.AddStyleItem(sci.GetPositionFromLine(0), sci.GetLineEndColumn(0), TextStyle.Style1);

            if (sci.ReadOnly && sci.LineCount > 2)
            {
                e.AddStyleItem(sci.GetPositionFromLine(sci.LineCount - 2), 100, TextStyle.Style1);
            }
        }
Пример #23
0
        private void scintilla_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            if (scintilla == null)
            {
                return;
            }

            lock (scintilla)
            {
                var startPos = scintilla.GetEndStyled();
                var endPos   = e.Position;
                _lexerNlog.Style(scintilla, startPos, endPos);
            }
        }
Пример #24
0
        protected override void Lex(object sender, StyleNeededEventArgs e)
        {
            var sci = GetScintilla();

            e.AddStyleItem(sci.GetPositionFromLine(0) - e.StartPosition, sci.GetLineEndColumn(0), TextStyle.Style1);

            var count = sci.LineCount;

            for (var i = 0; i < count; i++)
            {
                var p = sci.GetPositionFromLine(i);
                var c = sci.CharAt(p);

                if (c == '`')
                {
                    var ln    = sci.GetLine(i);
                    var txt   = ln.Text;
                    var style = TextStyle.None;

                    if (txt.StartsWith("``ela>"))
                    {
                        e.AddStyleItem(ln.StartPosition - e.StartPosition, 2, TextStyle.Invisible);
                        e.AddStyleItem(ln.StartPosition - e.StartPosition + 2, 4, TextStyle.Style5);
                        e.AddStyleItem(ln.StartPosition - e.StartPosition + 6, ln.EndPosition - ln.StartPosition - 6, TextStyle.Style6);
                    }
                    else
                    {
                        if (txt.StartsWith("``!!!"))
                        {
                            style = TextStyle.Style2;
                        }
                        else if (txt.StartsWith("``|||"))
                        {
                            style = TextStyle.Style3;
                        }
                        else if (txt.StartsWith("``???"))
                        {
                            style = TextStyle.Style4;
                        }

                        if (style != TextStyle.None)
                        {
                            e.AddStyleItem(ln.StartPosition - e.StartPosition, 5, TextStyle.Invisible);
                            e.AddStyleItem(ln.StartPosition - e.StartPosition + 5, ln.EndPosition - ln.StartPosition - 5, style);
                        }
                    }
                }
            }
        }
Пример #25
0
        private void NoteEdit_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            bool listHighlight =
                (Settings.ListMode == ListHighlightMode.Always) ||
                (Settings.ListMode == ListHighlightMode.WithTag && _viewmodel?.SelectedNote?.HasTagCaseInsensitive(AppSettings.TAG_LIST) == true);

            var startPos = NoteEdit.GetEndStyled();
            var endPos   = e.Position;

            GetHighlighter(Settings).Highlight(NoteEdit, startPos, endPos, Settings);
            if (listHighlight)
            {
                GetHighlighter(Settings).UpdateListMargin(NoteEdit, startPos, endPos);
            }
        }
Пример #26
0
 private void scintilla_StyleNeeded(object sender, StyleNeededEventArgs e)
 {
     try
     {
         // Style the _text
         if (_iniLexer)
         {
             CodeEditor.IniLexer.StyleNeeded((Scintilla)sender, e.Range);
         }
     }
     catch (Exception ex)
     {
         Log.Error(ex);
     }
 }
Пример #27
0
        private void scintilla_StyleNeeded(object sender, StyleNeededEventArgs e)
        {
            var startPos = scintilla.GetEndStyled();
            var endPos   = e.Position;

            switch (LexerToUse)
            {
            case LexerNameEnum.NLog:
                _lexerNlog.Style(scintilla, startPos, endPos);
                break;

            case LexerNameEnum.ScanRaid:
                _lexerScanRaid.Style(scintilla, startPos, endPos);
                break;
            }
        }
Пример #28
0
        protected override void OnStyleNeeded(StyleNeededEventArgs e)
        {
            base.OnStyleNeeded(e);

            if (Data == null)
            {
                return;
            }

            for (int i = e.Range.Start; i < e.Range.End; i++)
            {
                CodeViewData.TextType type;
                if (Data.Types.TryGetValue(i, out type))
                {
                    GetRange(i, i + type.Length).SetStyle(type.Type);
                }
            }
        }
Пример #29
0
        private void Lex(object sender, StyleNeededEventArgs e)
        {
            var con = App.Config <PlainTextConfig>();

            if (!con.HighlightBoldItalics && !con.HighlightHyperlinks)
            {
                return;
            }

            var lex = new PlainTextLexer
            {
                Hyperlinks = con.HighlightHyperlinks,
                Bold       = con.HighlightBoldItalics,
                Italic     = con.HighlightBoldItalics
            };

            lex.Parse(e.Text).ForEach(s => e.AddStyleItem(s.Position, s.Length, s.StyleKey));
        }
Пример #30
0
        private void ConsoleEditorStyleNeeded(object sender, StyleNeededEventArgs e)
        {
            if (_parsedUserInput == null)
            {
                return;
            }

            _consoleEditor.StartStyling(_editableStartPosition, 31);
            var prewEndPos = 0;

            foreach (var leafNode in GetLeafNodes(_parsedUserInput))
            {
                if (leafNode.Position > prewEndPos)
                {
                    _consoleEditor.SetStyling(leafNode.Position - prewEndPos, _defaultStyle);
                }
                _consoleEditor.SetStyling(leafNode.Length, NodeToStyle(leafNode));
                prewEndPos = leafNode.Position + leafNode.Length;
            }
        }
Пример #31
0
		private void FormatEditorStyleNeeded(object sender, StyleNeededEventArgs e)
		{
			var matches = TextMacrosHelper.FindMacroses(_serviceProvider, _formatEditor.Model.Text);
			for (var i = e.StartPosition; i < e.EndPosition; i++)
			{
				_formatEditor.StartStyling(i, 31);

				int length;
				if (matches.TryGetValue(i, out length))
				{
					_formatEditor.SetStyling(length, _macroStyle);
					i += length - 1;
				}
				else
					_formatEditor.SetStyling(1, _defaultStyle);
			}
		}
Пример #32
0
 public virtual void OnStyleNeeded(StyleNeededEventArgs e)
 {
     if (StyleNeeded != null)
         StyleNeeded(this, e);
 }
Пример #33
0
        protected virtual void DoHighlighting()
        {
            if (parser == null)
                return;

            //parse text
            ParseTree tree;

            try
            {
                tree = parser.Parse(Text);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message); //oops...
                return;
            }

            //highlight errors
            if (tree.Status == ParseTreeStatus.Error)
            {
                ClearStyle(GetStyleIndexMask(new[] {WavyStyle}));
                foreach (var msg in tree.ParserMessages)
                {
                    var loc = msg.Location;
                    var place = new Place(loc.Column, loc.Line);
                    var r = new Range(this, place, place);
                    var f = r.GetFragment(@"[\S]");
                    f.SetStyle(WavyStyle);
                }
                return;
            }

            //highlight syntax
            ClearStyle(StyleIndex.All);
            foreach (var t in tree.Tokens)
            {
                var arg = new StyleNeededEventArgs(t);
                OnStyleNeeded(arg);

                if (arg.Cancel)
                    continue;

                if (arg.Style != null)
                {
                    GetTokenRange(t).SetStyle(arg.Style);
                    continue;
                }

                switch (t.Terminal.GetType().Name)
                {
                    case "KeyTerm":
                        if ((t.Terminal.Flags & TermFlags.IsKeyword) != 0) //keywords are highlighted only
                            GetTokenRange(t).SetStyle(SyntaxHighlighter.KeywordStyle);
                        break;
                    case "NumberLiteral":
                        GetTokenRange(t).SetStyle(SyntaxHighlighter.NumberStyle);
                        break;
                    case "StringLiteral":
                        GetTokenRange(t).SetStyle(SyntaxHighlighter.StringStyle);
                        break;
                    case "CommentTerminal":
                        GetTokenRange(t).SetStyle(SyntaxHighlighter.CommentStyle);
                        break;
                }
            }
        }
Пример #34
0
        private void ConsoleEditorStyleNeeded(object sender, StyleNeededEventArgs e)
        {
            if (_parsedUserInput == null)
                return;

            _consoleEditor.StartStyling(_editableStartPosition, 31);
            var prewEndPos = 0;
            foreach (var leafNode in GetLeafNodes(_parsedUserInput))
            {
                if (leafNode.Position > prewEndPos)
                    _consoleEditor.SetStyling(leafNode.Position - prewEndPos, _defaultStyle);
                _consoleEditor.SetStyling(leafNode.Length, NodeToStyle(leafNode));
                prewEndPos = leafNode.Position + leafNode.Length;
            }
        }
Пример #35
0
        private void MessageEditorStyleNeeded(object sender, StyleNeededEventArgs e)
        {
            var sl = _messageEditor.Model.LineFromPosition(e.StartPosition);
            var el = _messageEditor.Model.LineFromPosition(e.EndPosition);

            for (var i = sl; i <= el; i++)
            {
                var line = _messageEditor.Model.GetLine(i);
                var qm = _quotedLineRx.Match(line);

                _messageEditor.StartStyling(
                    _messageEditor.Model.PositionFromLine(i), 31);

                if (qm.Success)
                {
                    var styleNum = _level3Style;

                    switch (qm.Groups["level"].Value.Length)
                    {
                        case 1:
                            styleNum = _level1Style;
                            break;
                        case 2:
                            styleNum = _level2Style;
                            break;
                    }

                    _messageEditor.SetStyling(qm.Groups["prefix"].Value.Length,
                        _messageEditor.TextStyles[_quotaPrefixStyle]);
                    _messageEditor.SetStyling(
                        _messageEditor.Model.GetLineLength(i) - qm.Groups["prefix"].Value.Length,
                        _messageEditor.TextStyles[styleNum]);
                }
                else
                {
                    var extHls = _syntaxExtSvc.GetHighlightings(line).ToDictionary(hl => hl.Position);

                    var j = 0;
                    Highlighting highlighting;
                    while (j < line.Length)
                        if (extHls.TryGetValue(j, out highlighting))
                        {
                            TextStyle style;
                            switch (highlighting.Type)
                            {
                                case HighlightType.Emoticons:
                                    style = _messageEditor.TextStyles[4];
                                    break;
                                case HighlightType.KnownTags:
                                    style = _messageEditor.TextStyles[3];
                                    break;
                                case HighlightType.UnknownTags:
                                    style = _messageEditor.TextStyles[5];
                                    break;
                                default:
                                    throw new ArgumentOutOfRangeException();
                            }
                            _messageEditor.SetStyling(highlighting.Length, style);
                            j += highlighting.Length;
                        }
                        else
                        {
                            _messageEditor.SetStyling(1, _messageEditor.TextStyles[0]);
                            j++;
                        }
                }
            }
        }