c - Gedit 语法高亮显示与 gtksourceview 反向引用子模式?

标签 c syntax-highlighting gnome gedit gtksourceview

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

gtksourceview website manual

/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));

最佳答案

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

关于c - Gedit 语法高亮显示与 gtksourceview 反向引用子模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9592805/

相关文章:

c++ - gnome 回退小程序 C++

C程序导致内存泄漏?

c - 无法识别的调试选项 : 1 [enabled by default]

c - 在 C 中使用 fgets 的段错误

compiler-errors - Dart 编辑器在使用 "part of"时停止突出显示错误

javascript - 你的 gnome-shell-extension 如何捕获关键焦点?

root - 如何找到排除任何 GNOME 面板或其他 GNOME "things"的根窗口的 X 几何图形?

c - 如何在发布时追踪应用程序中的异常错误?

javascript - 正则表达式搞乱了语法突出显示

drupal-7 - SyntaxHighlighter 将 < > 符号视为 HTML 标签