Emacs 中 Common Lisp 用户定义宏的语法高亮显示

Emacs 中 Common Lisp 用户定义宏的语法高亮显示

我想开始用 Common Lisp 编写一些简单的领域特定语言,并希望我定义的宏的名称能够像 Common Lisp 函数或宏一样突出显示(在 Emacs 中)。

下面是一个简单的例子,它并不是我希望编写的代码,但它是一个展示我想要的功能的 MWE。

(defmacro class* (class-name superclasses slots)
  (let ((slot-declarations
     (loop for slot in slots collecting
          (list slot :accessor slot :initform nil))))
    `(defclass ,class-name ,superclasses ,slot-declarations)))

(class* graph () (nodes edges))

我想要的class*第二表单以洋红色显示(根据我的 Emacs 安装中的默认颜色),并graph以蓝色突出显示。

我已看到一些如何调整 LaTeX 语法高亮的示例,但我无法扩展它们以在 Common Lisp 中为我工作。

非常感谢。

相关内容