簡體   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