我正在尝试自定义一些添加的单词,使其颜色与默认的字体颜色不同。
这就是我正在做的事情:
(defconst lconfig-font-lock-faces
(list
'(font-lock-function-name-face
((((class color)) (:foreground "DarkBlue" :bold t))))
'(font-lock-constant-face
((((class color)) (:foreground "Black" :bold t))))
'(font-lock-builtin-face
((((class color)) (:foreground nil))))
'(font-lock-preprocessor-face
((((class color)) (:foreground nil))))
)
)
(autoload 'custom-set-faces "font-lock" "Set the color scheme" t)
(autoload 'font-lock-fontify-buffer "font-lock" "Fontify Buffer" t)
(progn (apply 'custom-set-faces lconfig-font-lock-faces)
(add-hook 'c-mode-common-hook 'font-lock-fontify-buffer)
(add-hook 'emacs-lisp-mode-hook 'font-lock-fontify-buffer)
)
(global-font-lock-mode t)
(font-lock-add-keywords
'c-mode
'(
("^#[ \t]*\\(ifdef\\|else\\|ifndef\\|if !?defined\\|if\\|elif\\|endif\\|ident\\).*$" 1 font-lock-constant-face) ;#defines
("\\(^#[ \t]*define\\|^#[ \t]*include\\|^#[ \t]*undef\\).*$" 1 font-lock-function-name-face) ;other #s
)
)
不幸的是,当打开 ac 文件时,我看到 #include 和 #define 是黑色的。尽管它们应该匹配正则表达式并变成深蓝色。另外#ifdef 和#endif 是浅深色而不是粗体。
任何帮助表示赞赏。