请教一个emacs lisp的问题
找不到好的汇编语法高亮的插件,想自己写一个,碰到这个问题,望大神教我
(font-lock-add-keywords 'asm-mode
'(("\\<\\(push\\|add\\|mov\\)\\>" . 'red-face)))
可以实现push,add,mov的高亮,但是换成
(setq hl-operators "\\<\\(push\\|add\\|mov\\)\\>")
(font-lock-add-keywords 'asm-mode
'((hl-operators . 'red-face)))
就不行了,我是想定义一个字符串,从字典里读取关键字,然后转化成正则表达式的样子,再用font-lock-add-keywords高亮,咋整啊
[解决办法]
'((hl-operators . 'red-face)),因为开始的quote('),所以hl-operators不会被替换为hl-operators的值,而是保持其symbol的身份。
改为:
(list (cons hl-operators 'red-face))或者
`((,hl-operators . red-face))