语法高亮显示-使用color语言 - theme在Emacs的c模式下设置浮点值的颜色



我使用的是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)

相关内容

  • 没有找到相关文章

最新更新