icsharpcode / AvalonEdit

The WPF-based text editor component used in SharpDevelop
http://avalonedit.net/
MIT License
1.85k stars 469 forks source link

Make HighlightingRule extensible so rules aren't required to use Regex #401

Open GSonofNun opened 1 year ago

GSonofNun commented 1 year ago

Added IHighlightingRule so developers can implement custom rules that don't use a simple regex pattern. As part of this, I had to make a simple RuleMatch type to replace the uses of System.Text.RegularExpressions.Match instances as I needed a way for a custom implmentation to still return match results.

Here's an example of a custom IHighlightingRule I needed: https://gist.github.com/GSonofNun/f5a97b24bb9d57c06c723a7bc02940a0 This rule allows me to highlight delimiter separated values, giving a color to each column of values, and even lets me change the font weight and underline of certain lines.

image

I think these changes greatly expands the scope of possibilities for HighlightingRules.

goswinr commented 5 months ago

Nice! Can this be used along with xshd files ?