Avalon 在高亮中编辑高亮
Avalon Edit Highlighting within Highlighting
使用 Avalon Edit,我正在寻找一种在已经格式化的内容中提供突出显示格式的方法。
也就是说,我想突出显示引号内的内容,但在这些引号内我有另一种可以添加的语法,它以 ${
开头并以 }
结束。
默认情况下,似乎语法高亮显示一旦进入 'begin' 就会停止,并且在到达结尾之前不会寻找任何其他内容。
<Span color="ParamName">
<Begin>"</Begin>
<End>(?=:)</End>
</Span>
<Span color="Variable" multiline="false">
<Begin>${</Begin>
<End>}</End>
</Span>
所以这里的 ${
语法只有在不在 ParamName
("
) 内时才会被着色。有没有办法让我的变量突出显示即使在 ParamName
中也能工作(是的 ParamName
来自 JSON 格式,我希望我的突出显示无论在哪里都能工作显示在 JSON 语法中)?
完整荧光笔代码:
<Keywords color="Digits" >
<Word>true</Word>
<Word>false</Word>
</Keywords>
<Span color="Value" multiline="true">
<Begin>
(?<=:)0?"[^"]*
</Begin>
<End>"</End>
</Span>
<Span color="ParamName">
<Begin>"</Begin>
<End>(?=:)</End>
</Span>
<Span color="Variable" multiline="false">
<Begin>${</Begin>
<End>}</End>
</Span>
<Rule color="Digits">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
A <Span>
切换到跨度内处于活动状态的另一个 <RuleSet>
。默认情况下,这是一个空规则集,因此没有其他活动。
如果您希望在某个范围内应用规则,请将其移至嵌套规则集:
<Span color="ParamName">
<Begin>"</Begin>
<End>(?=:)</End>
<RuleSet>
<Span color="Variable" multiline="false">
<Begin>${</Begin>
<End>}</End>
</Span>
</RuleSet>
</Span>
使用 Avalon Edit,我正在寻找一种在已经格式化的内容中提供突出显示格式的方法。
也就是说,我想突出显示引号内的内容,但在这些引号内我有另一种可以添加的语法,它以 ${
开头并以 }
结束。
默认情况下,似乎语法高亮显示一旦进入 'begin' 就会停止,并且在到达结尾之前不会寻找任何其他内容。
<Span color="ParamName">
<Begin>"</Begin>
<End>(?=:)</End>
</Span>
<Span color="Variable" multiline="false">
<Begin>${</Begin>
<End>}</End>
</Span>
所以这里的 ${
语法只有在不在 ParamName
("
) 内时才会被着色。有没有办法让我的变量突出显示即使在 ParamName
中也能工作(是的 ParamName
来自 JSON 格式,我希望我的突出显示无论在哪里都能工作显示在 JSON 语法中)?
完整荧光笔代码:
<Keywords color="Digits" >
<Word>true</Word>
<Word>false</Word>
</Keywords>
<Span color="Value" multiline="true">
<Begin>
(?<=:)0?"[^"]*
</Begin>
<End>"</End>
</Span>
<Span color="ParamName">
<Begin>"</Begin>
<End>(?=:)</End>
</Span>
<Span color="Variable" multiline="false">
<Begin>${</Begin>
<End>}</End>
</Span>
<Rule color="Digits">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
A <Span>
切换到跨度内处于活动状态的另一个 <RuleSet>
。默认情况下,这是一个空规则集,因此没有其他活动。
如果您希望在某个范围内应用规则,请将其移至嵌套规则集:
<Span color="ParamName">
<Begin>"</Begin>
<End>(?=:)</End>
<RuleSet>
<Span color="Variable" multiline="false">
<Begin>${</Begin>
<End>}</End>
</Span>
</RuleSet>
</Span>