首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs中的字体问题

Emacs中的字体问题
EN

Stack Overflow用户
提问于 2011-01-27 08:12:33
回答 1查看 227关注 0票数 1

我将花一些时间使用Habenero Java,这是常规Java的一个次要变体,为了让我的工作更轻松,我正在尝试定义一个Emacs模式来使用它。

现在,我要做的就是定义一个新的主模式,它继承了Java并添加了三个新的关键字:finishasyncforall。这就是我到目前为止所知道的:

代码语言:javascript
复制
(define-derived-mode hj-mode java-mode "Habanero Java"
  "Major mode for Habanero Java."
  (font-lock-add-keywords nil `((,(regexp-opt '("finish" "async" "forall")) .
     font-lock-keyword-face))))

我遇到的问题是Emacs显然无法区分这些新关键字和变量声明。如果我写的是async { x(); },那么Emacs会正确地突出显示它。但是,如果我编写等效的async x();,那么Emacs会对其进行字体处理,就好像我使用名称async声明了一个变量一样。

有人知道怎么解决这个问题吗?对此的挫败感要了我的命。

EN

回答 1

Stack Overflow用户

发布于 2013-07-04 02:13:52

一种方法是将关键字元素更改为(matcher . subexp-highlighter)格式,其中subexp0overridet

代码语言:javascript
复制
(font-lock-add-keywords nil `((,(regexp-opt '("finish" "async" "forall"))
   0 font-lock-keyword-face t)

欲了解更多信息,请访问:http://www.gnu.org/software/emacs/manual/html_node/elisp/Search_002dbased-Fontification.html#Search_002dbased-Fontification

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4811682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档