2013-07-05 23 views
2

Emacs(甚至最新的24.3.1)無法正確呈現Java泛型。如何修復Java泛型的字體鎖?

static<T> void println(T arg) { System.out.println(arg); } 

在上面的示例中,方法名稱printf未呈現爲函數。它是黑色的而不是藍色的。

我認爲一定可以通過一些更好的正則表達式來解決這個問題。有人知道該怎麼做嗎?

+0

你必須找到一個定義字體鎖定爲Java模式的變量,然後以「靜態<[a-zA-Z ,]+>」取代「靜態」的每一個實例。這應該可行,但我不熟悉Java泛型,所以你必須推廣適用於其他情況。 – Malabarba

+0

這並不容易。方法前綴的順序是隨機的。 – ceving

+0

這是否適用於?或者它是否必須在前綴後面出現? – Malabarba

回答

1

我使用它來正確地強調在Java泛型:

(setq c-recognize-<>-arglists t) 
+0

好!似乎工作。你也知道如何讓構造函數變成藍色嗎? – ceving

+0

對不起,我不知道,但你可能想問人們一個郵件列表,或者搜索ML檔案中的這個問題。在我看來,這應該是一個相當普遍的要求。 –