我正在尝试更改预处理器指令的默认字体#define
,#include
而不使用font-lock-preprocessor-face
. 相反,我想使用font-lock-add-keywords
方法和正则表达式。我也希望这仅适用于汇编和 C 模式。
问问题
304 次
2 回答
1
如果您只想重新定义font-lock-preprocessor-face
. c-mode
原因是 font-lock 已经使用了正则表达式并且它已经很慢了。现在您将使用完全相同的正则表达式第二次解析完全相同的源。
我曾经使用一些自定义正则表达式来字体化 C++,但一年后将其关闭,因为它让我放慢了速度。
C-v您可以通过打开一个 50k 的源并使用一堆时间来检查它有多慢。现在再试一次find-file-literally
- 很好。
改为这样做:
(make-face 'c-preprocessor-face)
(set-face-background 'c-preprocessor-face "blue")
(set-face-foreground 'c-preprocessor-face "yellow")
(add-hook 'asm-mode-hook
(lambda ()
(set (make-local-variable
'font-lock-comment-face)
'c-preprocessor-face)))
(add-hook 'c-mode-hook
(lambda()
(set (make-local-variable
'c-preprocessor-face-name)
'c-preprocessor-face)))
于 2013-08-03T07:19:05.817 回答
0
您是否看过我的comment
和answer
您之前的问题,这与当前线程基本上是相同的问题?
于 2013-08-03T01:27:06.650 回答