在wiki上抄了一段代码,EmacsWiki: Add Keywords 对c的printf高亮里面的格式化标示,例如%d %f之类的,现在‘%?’的标识符在字符串的最后的时候,最后的引号也给高亮了,而且是font-lock-warning-face,不是我设置的face,请问下这啥原因?搞了半天也没解决,用re-builder测试高亮的就是%?,没有最后的引号。下面有截图和设置
(add-hook 'c-mode-common-hook
(lambda ()
(font-lock-add-keywords nil
'(("[^%]\\(%\\([[:digit:]]+\\$\\)?[-+' #0*]*\\([[:digit:]]*\\|\\*\\|\\*[[:digit:]]+\\$\\)\\(\\.\\([[:digit:]]*\\|\\*\\|\\*[[:digit:]]+\\$\\)\\)?\\([hlLjzt]\\|ll\\|hh\\)?\\([aAbdiuoxXDOUfFeEgGcCsSpn]\\|\\[\\^?.[^]]*\\]\\)\\)"
1 font-lock-builtin-face t)
("\\(%%\\)" 1 font-lock-type-face t)
) )))