【问题标题】:How can I write emacs lisp code for adding new highlighting pattern?如何编写 emacs lisp 代码来添加新的突出显示模式?
【发布时间】:2013-11-14 07:28:03
【问题描述】:

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

【问题讨论】:

  • Emacs 有一个Clojure mode;根据您的目的,您可能希望进一步调查。

标签: emacs clojure elisp


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-02
      • 2017-10-18
      相关资源
      最近更新 更多