我正在使用AvalonEdit控件,而xshd(用于tex)有一个小问题:
在原始文件“由Mike (从Jedit收集的) TeX文档的语法定义”中有一节是关于特殊关键字的,我想知道如何正确地使用它们。
<!-- some commands must be handled specially -->
<KeyWords name = "Keyword1" bold = "false" italic = "false" color = "Blue">
<Key word = "\$" />
<Key word = "\\" />
<Key word = "\%" />
</KeyWords>我认为关键字将是蓝色的,并且只由这个处理,但是其他规则也处理这些关键字的部分。例如:
<Span name = "LineComment" color = "SlateGray" stopateol = "true">
<Begin>%</Begin>
</Span>因此,如果你的文本中有"\%“,那么除了'\‘以外的所有东西都将是灰色的.
如果关键字禁止规则,例如“$”和“%”,如果前面有“\”,那就太好了。
我要做什么?或者我不明白规则..。
编辑
"\“由keyword1条目处理。< MarkFollowing。不是用于"\“,但< Span .仍在为"\$“和"\%”进行高亮显示。
我发现
escapecharacter="\"但这不管用。
EDIT2
使用新的语法突出显示定义,问题是相同的,我认为。我比较了我的tex突出显示和c#突出显示。在c#中我们有:
<Span color="String">
<Begin>"</Begin>
<End>"</End>
<RuleSet>
<!-- span for escape sequences -->
<Span begin="\\" end="."/>
</RuleSet>
</Span>我不使用锐化开发,但我认为它是有效的,高亮显示不会失败,如果我是转义字符的话。
<Span foreground="#FF708090" fontWeight="normal" fontStyle="italic">
<Begin>%</Begin>
<RuleSet>
<Span begin="\\" end="." />
</RuleSet>
</Span>但这行不通..。也许有一个问题,因为转义字符是一个< Rule >?
发布于 2010-11-13 22:27:17
请尝试将文件移植到新格式,有关详细信息,请参阅http://community.sharpdevelop.net/forums/p/10468/28886.aspx#28886。
在新格式中,您可以在规则中使用正则表达式,这比尝试使用关键字/标记跟踪来伪造TeX构造要好得多。
在您的EDIT2上:如果您希望\成为TeX代码中的转义序列(在注释前面,而不是字符串/注释中的转义符号),那么在主规则集中使用转义跨度:
<Span begin="\\" end="."/>
<Span foreground="#FF708090" fontWeight="normal" fontStyle="italic">
<Begin>%</Begin>
</Span>https://stackoverflow.com/questions/4134671
复制相似问题