我想级联AvalonEdit的SyntaxHighlighting引擎。我有2个HighlightingDefinitions
。第一个是主要语法。第二个是复杂的多行预处理器标记语言。因此,将第二个语法嵌入第一个语法太复杂了。更简单的方法是呈现第一种语法,然后更改受影响的线部分(基于第二种语法)。
因此,我HighlightingColorizer
用第二种语言实例化了一种新语言,并将其添加到LineTransformers
。但是第二种语言使整个文档着色,而不仅仅是带有预处理器指令的线段:非预处理器代码是黑色的。
在调试ColorizeLine
第二个线路转换器的-method时,未突出显示的代码(=没有预处理程序代码)的行没有按预期着色。但是线条的颜色是黑色的。
那么HighlightingColorizer
,在整个文档开始着色之前,是否要重置所有以前突出显示的文档?
还是其他问题?如何正确地级联2 HighlightingColorizers
?