在Emacs中应用自定义面孔



我想为 python-mode制定派生模式以添加自定义关键字和颜色。因此,我重述了定义关键字面孔的代码的一部分,并添加了我自己的关键字。

如果我使用已经存在的面孔,则可以正常工作。但是我想使用自定义面孔,以便在其他面孔的同时不会改变颜色。我搜索如何定义面部并以此为最终:

(defface printr-face
  '((t :foreground "red" :weight bold))
  "Face for printr function"
  :group 'python-print-color-faces)

我尝试应用它的代码部分(在变量" python-font-lock-keywords"中(看起来像这样:

(,(rx symbol-start (or "printr") symbol-end) . printr-face)

当我使用时,printr-face确实出现在列表中 M-x list-faces-display

但是没有脸部。M-x describe-face将其视为默认。

我在做什么错?我如何使用新定义的脸?

在新关键字中添加新面孔时,您也需要添加关键字:

(font-lock-add-keywords
 'my-mode
 '(("regex1" 1 'my-face1)
   ("regex2" 1 'my-face2))
 1)

Choroba在右边。我也错过了defface中的括号:

(defface printr-face `((t (:foreground "red" :weight bold))) "Face for printr function"
  :group  'python-print-color)

(我忘记封装了:地面:重量(

然后

 (font-lock-add-keywords
 'python-print-color-mode
 '(("printr" . 'printr)
   ("printg" . 'printg)))

请注意,我必须使用"。而不是" 1"使其起作用。不知道" 1"应该做什么,但对我不起作用。

最新更新