2015-06-30 69 views
-1

我有一個導出Objective-C和Swift代碼的應用程序。使用Xcode的代碼高亮顏色格式化字符串

在此自動生成的代碼,我想格式化具有相同顏色的文本的Xcode的默認主題使用即綠色徵求意見,藍色的數字,紅色紫色字符串類名稱等預覽窗口

像PaintCode這樣的應用程序可以實現這一點。有沒有人知道圖書館或其他生產這種方式。

Paint Code with formatted code preview

回答

1

您將需要一個詞法分裂文成部分:標識,符號,字符串和數字文字,評論等進一步閱讀有關lexers on Wikipedia

然後你必須知道應用什麼顏色,包括不同類型的標識符:關鍵字,函數,變量,類型等。對於這些,你可以管理某種列表並查找它們。

對於分析,一個好的開始地點是NSScanner或者只是簡單地逐個字符地遍歷文本。這就是我們在PaintCode中做到的。

對於着色本身,只需使用NSAttributedStringNSForegroundColorAttributeName。沒有必要進入核心文本。