我使用的是EmacsForMacOsX, v23.3.1,我想知道如何将浮点值celsiusFloat = (5.0/9.0);
的颜色更改为与我从当前
color-theme-billw
主题获得的整数age = 23;
不同的颜色。
我怀疑StackOverflow对它们的颜色不同。
编辑:我最初为
cc-mode.el
中的浮点d*.d*
添加正则表达式的方法显然不是Emacs使用语法高亮显示(也称为字体锁定)的方式-进一步的研究使我找到了以下网站:http://www.gnu.org/software/emacs/elisp/html_node/Customizing-Keywords.html
编辑2:我似乎已经找到了我的答案http://www.emacswiki.org/emacs/AddKeywords和
http://www.gnu.org/software/emacs/manual/html_node/emacs/Font-Lock.html#Font-Lock
(add-hook 'c-mode-hook
(lambda ()
(font-lock-add-keywords nil
'(("[0-9]+\.[0-9]+" 1 font-lock-warning-face t)))))
我找到了一个解决方案:http://hbfs.wordpress.com/2010/03/02/adding-keywords-in-emacs/
:
(make-face 'font-lock-special-macro-face) ;; Create a new face
(set-face-foreground 'font-lock-special-macro-face "pink") ;; Set the colour
然后我们继续向关键字列表中添加正则表达式,并将每个regexp与一个面关联:
(defun add-custom-keyw()
"adds a few special keywords for c and c++ modes"
;
(font-lock-add-keywords nil
'(
("[0-9]+\.[0-9]+" . 'font-lock-special-macro-face )
; more of those would go here
)
)
)
最后我们把它钩到mode上:
(add-hook 'c-mode-hook 'add-custom-keyw)