如何编写emacs lisp代码以添加新的突出显示模式?

时间:2013-11-14 07:28:03

标签: emacs clojure elisp

我发现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没有正确地突出显示它们。

2 个答案:

答案 0 :(得分:2)

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

如果在帮助下您仍然遇到问题,请发布您想要达到的目标,以便获得有关问题的更具体帮助。

答案 1 :(得分:1)

添加@juanleon所说的内容:有关Search-Based Fontification的信息,请参阅Elisp手册节点font-lock-keywords。这将有助于您自己编写XXXXX部分。"

然后,正如@juanleon所说,尝试一些事情并在这里寻求更多帮助,如果它不起作用的话。代码尝试获得帮助。