我有以下内容
(defun add-c-syntax-highlighting ()
(font-lock-add-keywords nil '(
("\\<\\(\\-+\\)" 1 font-lock-warning-face prepend)
("\\<\\(FIXME\\):" 1 font-lock-warning-face prepend))))
和
(add-hook 'c-mode-common-hook 'add-c-syntax-highlighting)
对这个简单的缓冲区进行测试产生了看似矛盾的结果:
//FIXME:
//-------------
仅使用FIXME
fontified。我做错了什么?
答案1
我的水晶球告诉我你做错的是复制粘贴你不懂的代码。今天它看起来有点讽刺,抱歉,我保证我会很快买一个新的。
至于您的问题,它是\\<
您的正则表达式中的,它是一个与单词开头匹配的特殊构造函数,因此它永远不能在前面匹配,-
因为单词只能以正确的字母或数字开头。