2

我发现 font-lock-add-keywords 是关键,但我找不到如何添加模式。例如,在 clojure 中;

(defn a-function-name [argument vector]
  ...)

a-function-name 突出显示,因为它位于 defn 之后和 [argument vector] 之前。我该如何为此编写规则?

(font-lock-add-keywords 'lisp-mode XXXXX)

我不能XXXXX为自己写一部分。

========================

谢谢大家 :-) 是的,正如你所说,我可以在 docs 和 clojure-mode.el 中找到线索。

这就是我所做的并且效果很好(至少对我而言)

(font-lock-add-keywords
 'lisp-mode
 '(("(\\(@defn\\)\\>[ \r\t\n]*\\(\\sw+\\)+\\>?"
    (2 'font-lock-function-name-face))))

为什么我需要这个是因为我定义了一些宏,而 emacs 没有正确突出它们。

4

2 回答 2

2

键入C-h f font-lock-add-keywords。在该功能的帮助中,将有一个链接font-lock-keywords,其中描述了您称为 XXXXXX 的格式。

如果在该帮助下您仍然遇到问题,请发布您为实现您想要的目标所做的尝试,以便您可以获得有关您的问题的更具体的帮助。

于 2013-11-14T08:03:38.090 回答
1

要添加@juanleon 所说的内容:请参阅 Elisp 手册,节点Search-Based Fontification以获取有关font-lock-keywords. 这将帮助您“为自己编写 XXXXX 部分”。

然后,正如@juanleon 所说,尝试一些东西,如果它不起作用,请在这里寻求更多帮助。代码尝试得到帮助。

于 2013-11-14T14:48:28.097 回答