1

(EMACS 24.2) 我需要突出显示函数调用。我在网上找到了这个

(add-hook 'c-mode-hook (lambda ()
   (font-lock-add-keywords nil '(
      ("\\<\\(\\sw+\\) ?(" . 'font-lock-function-name-face))t)))

它有效,但它也突出显示以下左括号。我对正则表达式没有信心,请问如何修改匹配字符串以避免括号突出显示?

在此处输入图像描述

4

1 回答 1

10

正则表达式很好,您只需要突出显示匹配中的第一组,而不是全部。替换. 'font-lock-function-name-face1 'font-lock-function-name-face

另一件要改变的事情,只是一个建议,是font-lock-add-keywords接受模式名称作为第一个参数。所以你不需要使用钩子。

结果:

(font-lock-add-keywords
 'c-mode
 '(("\\<\\(\\sw+\\) ?(" 1 'font-lock-function-name-face)))
于 2013-02-05T20:21:35.890 回答