我想级联 AvalonEdit 的 SyntaxHighlighting Engine。我有 2 HighlightingDefinitions
。第一个是主要语法。第二种是复杂的多行预处理器标记语言。由于这个原因,将第二个语法嵌入第一个语法太复杂了。更简单的方法是呈现第一种语法,然后更改受影响的行部分(基于第二种语法)。
所以我HighlightingColorizer
用第二种语言实例化了一个新的并将它添加到LineTransformers
. 但是第二种语言使整个文档着色,而不仅仅是带有预处理器指令的线条部分:非预处理器代码是黑色的。
当我调试ColorizeLine
第二行转换器的 - 方法时,未突出显示的代码(= 无预处理器代码)的行没有像预期的那样被着色。但是线条的颜色是黑色的。
那么HighlightingColorizer
在开始着色之前是否重置整个文档的所有先前突出显示?
或者还有什么问题?我怎样才能正确级联 2 HighlightingColorizers
?