private void HighlightVisibleRange() { //expand visible range (+- margin) var startLine = Math.Max(0, fctb.VisibleRange.Start.iLine - margin); var endLine = Math.Min(fctb.LinesCount - 1, fctb.VisibleRange.End.iLine + margin); var range = new Range(fctb, 0, startLine, 0, endLine); //clear folding markers range.ClearFoldingMarkers(); //set markers for folding range.SetFoldingMarkers(@"N\d\d00", @"N\d\d99"); // range.ClearStyle(StyleIndex.All); range.SetStyle(fctb.SyntaxHighlighter.BlueStyle, @"N\d+"); range.SetStyle(fctb.SyntaxHighlighter.RedStyle, @"[+\-]?[\d\.]+\d+"); }
private void HTMLSyntaxHighlight(Range range) { //clear style of changed range range.ClearStyle(BlueStyle, MaroonStyle, RedStyle); //tag brackets highlighting range.SetStyle(BlueStyle, @"<|/>|</|>"); //tag name range.SetStyle(MaroonStyle, @"<(?<range>[!\w]+)"); //end of tag range.SetStyle(MaroonStyle, @"</(?<range>\w+)>"); //attributes range.SetStyle(RedStyle, @"(?<range>\S+?)='[^']*'|(?<range>\S+)=""[^""]*""|(?<range>\S+)=\S+"); //attribute values range.SetStyle(BlueStyle, @"\S+?=(?<range>'[^']*')|\S+=(?<range>""[^""]*"")|\S+=(?<range>\S+)"); }
public void changeStyles(Range changedRange) { changedRange.ClearStyle(); changedRange.SetStyle(styles.KeywordStyle, styles.regexKeywords); changedRange.SetStyle(styles.RegisterStyle, styles.regexRegisters); changedRange.SetStyle(styles.LiteralStyle, styles.regexLiterals); changedRange.SetStyle(styles.LabelStyle, styles.regexLabels); changedRange.SetStyle(styles.HexPrefix, styles.regexHexPrefixes); changedRange.SetStyle(styles.CommentStyle, styles.regexComments); changedRange.SetStyle(styles.MacroStyle, styles.regexMacros); }
void ApplyHighlight(Range range) { range.SetFoldingMarkers("{", "}"); range.SetFoldingMarkers(@"/\*", @"\*/"); range.SetStyle(TextStyles["Comments"], @"//.*$", RegexOptions.Multiline); range.SetStyle(TextStyles["Strings"], @"""""|@""""|''|@"".*?""|(?<!@)(?<range>"".*?[^\\]"")|'.*?[^\\]'"); range.SetStyle(TextStyles["Digits"], @"\b\d+[\.]?\d*([eE]\-?\d+)?[lLdDfF]?\b|\b0x[a-fA-F\d]+\b"); range.SetStyle(TextStyles["Params"], @"^\s*(?<range>\[.+?\])\s*$", RegexOptions.Multiline); range.SetStyle(TextStyles["Operators"], @"\b(public|private|stock|function|native)\s+(?<range>\w+?)\b"); range.SetStyle(TextStyles["Operators"], @"\b(assert|break|case|countine|default|do|else|exit|for|goto|if|return|sleep|state|switch|while|defined|sizeof|state|tagof|const|forward|native|new|operator|public|static|stock|private|function)\b|#\w+\s*[A-Za-z0-9.,=<>()_-]+"); }
/// <summary> /// Apply sintax highlight /// </summary> private void SintraxHighlightVisibleRange() { const int margin = 2000; //expand visible range (+- margin) var startLine = Math.Max(0, _fastColorTb.VisibleRange.Start.iLine - margin); var endLine = Math.Min(_fastColorTb.LinesCount - 1, _fastColorTb.VisibleRange.End.iLine + margin); var range = new Range(_fastColorTb, 0, startLine, 0, endLine); //clear folding markers //range.ClearFoldingMarkers(); //set markers for folding //range.SetFoldingMarkers(@"N\d\d00", @"N\d\d99"); //range.ClearStyle(StyleIndex.All); range.SetStyle(_darkvioletStyle, @"N\d+"); if (_boldStyleText != string.Empty) range.SetStyle(_boldStyle, _boldStyleText); if (_italicStyleText != string.Empty) range.SetStyle(_italicStyle, _italicStyleText); if (_blueStyleText != string.Empty) range.SetStyle(_blueStyle, _blueStyleText); if (_greenStyleText != string.Empty) range.SetStyle(_greenStyle, _greenStyleText); if (_darkredStyleText != string.Empty) range.SetStyle(_darkredStyle, _darkredStyleText); if (_darkorangeStyleText != string.Empty) range.SetStyle(_darkorangeStyle, _darkorangeStyleText); }
void editor2_VisibleRangeChanged(object sender, EventArgs e) { if (TabMode == _4Hud.TabMode.res) { Range r = new Range(editor2, 0, editor2.VisibleRange.Start.iLine, editor1.VisibleRange.End.iChar, editor1.VisibleRange.End.iLine); r.ClearStyle(NameStyle); r.SetStyle(NameStyle, @"(?<range>""?[\w|.|/]+""?)[\s|]*\{"); highlight(r); } }
public void highlight(Range r) { ClearStyles(r); if (TabMode == _4Hud.TabMode.res) { r.SetStyle(CommentStyle, @"//.*$", RegexOptions.Multiline); r.SetStyle(ColorStyle1, @"""?\d+\s+\d+\s+\d+(\s+\d+)?""?"); r.SetStyle(ColorNameStyle, @"(?<range>""?[\w]+""?)\s+""?\d+\s+\d+\s+\d+(\s+\d+)?""?"); //r.SetStyle(ColorStyle2, @"\d+\s+\d+\s+\d+", RegexOptions.Singleline); //r.SetStyle(ColorNameStyle, @"(?<range>""?[\w]+""?)\d+\s+\d+\s+\d+", RegexOptions.Singleline); r.SetStyle(MinModeStyle, @"\s*""\w+(?<range>_minmode)"""); r.SetStyle(PosStyle1, @"(""xpos(_minmode)?""|""ypos(_minmode)?"")\s+""(l|r|c|t|b)?-?\d+"""); r.SetStyle(PosStyle2, @"(""wide(_minmode)?""|""tall(_minmode)?"")\s+""(\d+|f0)"""); r.SetStyle(PosStyle1, @"""zpos(_minmode)?""\s+""(-?\d+)"""); r.SetStyle(EnabledStyle, @"(?<range>(""visible(_minmode)?""|""enabled(_minmode)?""))\s+""1"""); r.SetStyle(DisabledStyle, @"(?<range>(""visible(_minmode)?""|""enabled(_minmode)?""))\s+""0"""); r.SetStyle(EnabledStyle, @"(""visible(_minmode)?""|""enabled(_minmode)?"")\s+(?<range>""1"")"); r.SetStyle(DisabledStyle, @"(""visible(_minmode)?""|""enabled(_minmode)?"")\s+(?<range>""0"")"); r.ClearFoldingMarkers(); r.SetFoldingMarkers("{", "}"); //r.SetFoldingMarkers(@"#region\b", @"#endregion\b"); } else if (TabMode == _4Hud.TabMode.none) { r.SetStyle(CommentStyle, @"//.*$", RegexOptions.Multiline); } else if (TabMode == _4Hud.TabMode.info) { r.ClearStyle(NameStyle); r.SetStyle(CommentStyle, @"^//.*$", RegexOptions.Multiline); r.SetStyle(PosStyle1, "(?<range>^(" + InfoKeywords + "))(=|$)", RegexOptions.Multiline); r.SetStyle(PosStyle2, "(?<range>^[^\n=]+)(=|$)", RegexOptions.Multiline); //r.SetStyle(EnabledStyle, @"^url=(?<range>((http://teamfortress\.tv/|http://etf2l\.org/|http://steamcommunity\.com/groups/)).*)", RegexOptions.Multiline); //r.SetStyle(UnderlinedStyle, @"^url=(?<range>(?!http://).+)", RegexOptions.Multiline); } }