繁体   English   中英

Emacs中的字体问题

[英]Font Problem in Emacs

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

现在,我要做的就是定义一个新的主要模式,该模式从Java继承并添加三个新关键字: finishasyncforall 这是我到目前为止的内容:

(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(); } async { x(); }然后Emacs正确突出显示它。 但是如果我写等效的async x(); ,然后Emacs将其字体化,就好像我通过名称async声明变量一样。

异性恋者知道如何解决吗? 对此的沮丧使我丧命。

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

(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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM