我有这段代码来突出显示制表符并希望使用项目特定宏禁用它们:
(require 'highlight-chars)
(make-variable-buffer-local 'prevent-highlight-tabs)
(setq highlight-chars-disable '(term-mode erc-mode fundamental-mode))
(setq-default prevent-highlight-tabs nil)
(add-hook 'font-lock-mode-hook
(lambda()
(message "lock")
(when (and (null (memql major-mode highlight-chars-disable))
(not prevent-highlight-tabs))
(message "%s" prevent-highlight-tabs)
(hc-highlight-tabs))))
(custom-set-faces '(hc-tab ((t (:background "red")))))
并且project-specifics
是一个定义 add find-file-hook
and dired-after-readin-hook
from this question的宏
(project-specifics "projects/test"
(message "specific")
(setq prevent-highlight-tabs t)
(setq indent-tabs-mode t))
我想要做的是禁用项目/测试中文件的红色标签(我想要它们,因为在大多数项目中我只想要空格,并且想要查看标签),但我有一个问题,因为font-lock-mode-hook
之前执行的代码project-specifics
(查找- file-hook),并且 prevent-highlight-tabs 在 font-lock-mode-hook 中始终为零。为什么会这样,以及如何解决?