【发布时间】:2010-12-04 23:42:15
【问题描述】:
我有一个带有自定义宏的 Emacs Lisp 文件,我希望字体化和缩进不同。代码如下:
(defmacro* when-let ((var value) &rest body)
`(let ((,var ,value))
(when ,var ,@body)))
(defun func ()
(when-let (a 1)
a))
我希望将when-let 字体化为font-lock-keyword 并按上述方式缩进。我知道我可以在我的 .emacs 文件中执行此操作,但我更愿意将其设为本地目录或文件本地自定义。问题是目录本地和文件本地自定义似乎仅限于设置变量。在我的 .emacs 文件中,我有以下内容。
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(put 'when-let 'lisp-indent-function 1)
(font-lock-add-keywords nil
'(("(\\(when-let\\)\\>" 1
font-lock-keyword-face)))))
我希望在.dir-locals.el 中使用它,因为它仅适用于一个文件。
【问题讨论】: