字体锁定关键字:突出显示多个子表达式

时间:2010-02-10 13:43:24

标签: emacs font-lock-mode

为GNU / Emacs模式设置font-lock-keywords时,是否可以使用单个匹配器突出显示正则表达式的多个子表达式?我想做的是:

("\\(foo\\)-\\(bar\\)" '(1 foo-face) '(2 bar-face))

这样的东西的正确语法是什么 - 或者我是否必须将其拆分为两个不同的匹配器?

1 个答案:

答案 0 :(得分:5)

尝试这样的事情:

("\\(foo\\)-\\(bar\\)" (1 foo-face) (2 bar-face))

与你的相同,但没有额外的引号)。

我这样说是因为我在自定义font-lock-keywords定义中有各种各样的位。其中一些在第二个结尾处有nil t,如下所示:

("\\(foo\\)-\\(bar\\)" (1 foo-face) (2 bar-face nil t))

对应于OVERRIDELAXMATCH可选标记,可能需要根据您的具体情况而定。

font-lock-keywords的文档在某种程度上讨论了这一点,尽管并不总是最简单的 - 我发现复制其他人的工作设置比较容易,比如c-font-lock-keywords-3的现有值,例如。