1

以下将在第二行突出显示“超时”,但不会再次突出显示它。gtksourceview 是否支持“子模式”上的某种反向引用,以匹配整个文件中的所有实例?

gtksourceview 网站手册

/usr/share/gtksourceview-2.0/language-specs/c.lang

<context id="struct" style-ref="struct">
     <match>\bstruct\b\s\w+\s(\w+)</match>
          <include>
               <context sub-pattern="1" style-ref="structname"/>
          </include>
</context>
int ns;
struct timeval timeout;
timeout.tv_sec = 1;
timeout.tv_usec = 0;

setsockopt(ns, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
setsockopt(ns, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
4

2 回答 2

0

我认为您只能在 GtkSourceView 中进行无状态突出显示。也许你可以用递归上下文做一些事情?捕获上下文中第二行之后的所有内容struct,然后突出显示您的结构名称,并递归调用主上下文。我不确定这是否可行。

于 2012-03-07T09:08:16.220 回答
0

显然,目前不支持请求的功能

于 2012-03-07T15:39:39.457 回答