我有一个用于 gEdit 的自定义 SPICE(电子)语法突出显示,它正在工作,但我想修改变量的突出显示(我不知道如何)。我现在拥有的是这样的:
<context id="variables" style-ref="string">
<match extended="true">
(\s[^\s><&(){};,=/+\-*\^]+|
(?![({])\s*[^\s><&(){};,=/+\-*\^]+)
\s*(\=)(?!(\s*\=))
</match>
</context>
参数(变量)定义如下:
.param Value=3.14
并且,使用上面的代码,“Value=”被突出显示,但我想省略“=”被着色。我已经尝试(?!\=)
过最后一行,之后's*
,加上一些组合,但是......什么都没有。
以更详细的方式:
- 参数由强制的第一个定义
.param
或.params
(已解决) - 他们不能有空格或任何像这样的字符 - [^\s><&(){};,=/+-*\^] - 在他们的命名中(已解决)
- 它们必须至少有一个空格才能与前面的字符“混合”(已解决)
- 上述条件有“(”和“{”例外(已解决)
- 它们和“=”之间可以有空格(已解决)
请记住,我对 PCRE 知之甚少,这可能看起来很幼稚,但只要它有效,我不介意。我现在所做的事情是通过太多的试验和错误来完成的。