我正在尝试覆盖org-mode
和org-agenda-mode
个缓冲区中的默认语法高亮显示。
澄清我的意图:我目前的理由是根据标签突出显示标题(或部分标题)。内置变量org-tag-faces
仅允许自定义标记本身,而不是包含标记的标题。
参考以下相关问题:
Emacs font lock mode: provide a custom color instead of a face
https://emacs.stackexchange.com/questions/8211/color-code-a-new-generic-character-combination
在第2个主题中,接受的答案是为此目的使用font-lock。
在主题3中,我试图与海报完全相反。 Jordon Biondo的最后一条评论说:
从关键字中取出t,t指定的是font-lock应该覆盖已经有颜色的东西。
因为我想覆盖已添加的已经有色的东西,但据我所知,org-mode
突出显示仍然覆盖了我的自定义面孔。
在org-mode
缓冲区中,这表现为标题文本的主体被更改,但任何其他项目(如待办事项状态,日期,标签等)保留现有面部。
在org-agenda-mode
缓冲区中,它完全无法修改匹配行的任何方面。
通过一个简单的例子,这里有一些代码我试图用来设置任何包含以下内容的行:TT:在org-mode
缓冲区中变为红色:
(add-hook 'org-mode-hook
(lambda ()
(font-lock-add-keywords
'org-mode
'(
("^.*:TT:.*$" 0 '(:foreground "#FF0000") t)
))))
答案 0 :(得分:0)
这主要适用于我:
(add-hook 'org-mode-hook
(lambda ()
(font-lock-add-keywords
'org-mode
'(("^.*:TT:.*$" . font-lock-warning-face)))))
标题为红色,但标签本身不是。