2011-05-02 47 views
2

我有一個問題,是否有可能得到鑄造包或texments包,語法顏色就像你會在xcode中看到的。不一定是相同的顏色,沒關係,而是要獲得所有變量類型和類似的東西來突出顯示。使用鑄造乳膠語法着色

一個這樣的例子是,當我使用minted時,像@synthesize,float,int,所有突出顯示,但NSArray或NSMutableDictionary不。

有誰知道如何改變這個或者可能添加更多的格式到包中。我已經搜索過,但沒有太大的幫助。

在此先感謝您的幫助!

回答

1

不幸的是,這不(很容易)。

minted and texments依靠詞法分析的代碼。詞法分析相對簡單且高效,但它只是解析源代碼的第一階段。

因此,詞法分析可以識別關鍵字,字符串,註釋和標識符,但它無法區分標識符。爲此,解析器需要解析整個代碼基礎(包含多個文件)並構建抽象語法樹。

這是非常複雜和耗時的,而且對於語法着色通常效率太低。出於這個原因,大多數代碼高亮工具不會執行這樣的深入分析。

無論如何Xcode需要完全解析代碼(用於錯誤消息,調試和其他事情)並維護每個項目的解析信息數據庫。這使它可以提供更復雜的代碼突出顯示,並且仍然表現良好。您可能會注意到,如果您在Xcode中加載單個代碼文件(不是項目的一部分),則也不會執行變量名稱的完整語法着色。

+0

對不起,延遲應對。我認爲這將是一個這樣的問題,但不知道是否有一個簡單的解決方法。沒關係,現在它運行得很好。也許如果我有空閒時間,我會嘗試創建一個更好的着色方案(可能不會:]) – MZimmerman6 2011-05-19 16:16:15