1

(Emacs 23.4.1)

我正在寻找一种解决方案,只要函数参数列表等于或高于 2 个参数,函数名称的颜色就会变为常规文本。

因此,采用 0 或 1 个参数的函数具有我在.emacs文件中设置的漂亮颜色。

为什么具有 >= 2 个参数的函数不能得到它?

这是我的.emacs custom-set-face

    (custom-set-faces
     '(default ((t (:background "#F9F9F7" :family "liberation mono"))))
     '(font-lock-builtin-face ((t (:foreground "#5B5B5B"))))
     '(font-lock-comment-face ((t (:foreground "#afaf9d"))))
     '(font-lock-constant-face ((t (:foreground "#2caeae"))))
     '(font-lock-function-name-face ((t (:bold t :foreground "#931616"))))
     '(font-lock-keyword-face ((t (:bold t :foreground "#35363a"))))
     '(font-lock-negation-char-face ((t (:bold t))))
     '(font-lock-reference-face ((t (:foreground "#cbcbcb"))))
     '(font-lock-string-face ((t (:foreground "#e80000"))))
     '(font-lock-type-face ((t (:bold t :foreground "#3f4d7f"))))
     '(font-lock-variable-name-face ((t (:foreground "#35363a"))))
     '(font-locl-preprocessor-face ((t (:foreground "#cbcbcb"))))
    )
4

1 回答 1

1

不确定我是否理解你的问题。但我认为它是这样的:

如果函数采用多个参数,字体锁定不会突出显示函数定义中的函数名称。

是这样吗?

如果是这样,那么您需要指定代码所使用的语言,并给出具有 > 1 个参数且未正确突出显示的函数定义示例。最重要的是,给出font-lock-keywords(至少与 相关的部分font-lock-function-name-face)的值。

如果我理解您的问题,自定义面孔应该无效,因此您可以从您的问题中删除该代码。

最后,当您使用 启动 Emacs emacs -Q,即不使用您的 init 文件时,您是否看到了问题?如果不是,则假设您正在初始化文件 ( ~/.emacs) 中执行导致问题的某些操作。在这种情况下,递归地一分为二以缩小范围以找到罪魁祸首。

于 2014-07-19T16:53:20.763 回答