[英]Font Problem in Emacs
我將花一些時間在Habenero Java(常規Java的次要變體)中工作,為了使我的生活更輕松,我嘗試定義一個Emacs模式來使用它。
現在,我要做的就是定義一個新的主要模式,該模式從Java繼承並添加三個新關鍵字: finish
, async
和forall
。 這是我到目前為止的內容:
(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)
格式,其中subexp
為0
且override
值為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.