2009-10-04 69 views
4

我打算做一個Cocoa應用程序,需要對代碼語法進行着色(所有常用語言)。不是寫我自己的代碼高亮/解析器,有沒有預先製作的解決方案?語法着色可可應用程序

感謝

+1

你的意思是你想編寫一個突出顯示由*用戶*輸入的代碼的Cocoa應用程序,或者你想編寫一個Cocoa應用程序,其中包含* that * app語法突出顯示的源代碼?你的問題有點不清楚。 – 2009-10-04 20:08:17

+1

我認爲他需要突出顯示用戶輸入的代碼(他還說,「所有常用語言」,我懷疑他想在他的應用程序中使用PHP,紅寶石,python和perl:D) – 2009-10-04 20:13:53

+0

啊,是的,公平點。 – 2009-10-04 20:14:44

回答

9
+3

Geshi是用PHP編寫的。將Cocoa應用程序集成將非常繁瑣。鑽通你的第二個環節;這是相關的:http://www.cocoadev.com/index.pl?ImpplementSyntaxHighlighting – 2009-10-04 20:22:47

+0

良好的聯繫,將檢查出來 – indragie 2009-10-05 00:46:15

-1

您可以使用highlight是在QLColorCode使用:)(然而,這並不是說你在你的代碼包括框架,而是一個命令行實用程序)

編輯:嗯,是的,使用隔世,它可能會更好:d

+0

這是一個語法突出顯示代碼的應用程序。提問者想讓他或她正在編寫高亮代碼。 – 2009-10-04 20:19:52

1

您也可以使用JavaScript庫SyntaxHighlighter並將其嵌入WebView到您的應用程序中。

+0

如果我能得到這個工作在Web視圖,這將工作出色:D – indragie 2009-10-05 00:47:07

3

一個很好的解決方案是Uli Kusterer的UKSyntaxColoredTextDocument。它速度很快,並有幾個內置的語法分析器。添加新的語言很容易。

它是免費的非商業用途和非常便宜,如果你想它的商業應用程序。

+0

哇不能相信我以前沒有找到。萬分感謝。 – indragie 2009-10-05 03:48:23

0

經過相當多的研究嘗試解決類似問題後,我發現的最簡單的方法是使用JavaScript庫進行語法突出顯示並與WebView結合使用。花時間寫一個語法熒光筆是一項相當複雜的任務,可能不是你想要花費的時間。

我決定使用流行的CodeMirror,併爲可可編寫了一個開源的包裝:https://github.com/swisspol/CodeMirrorView。您可以使用類似的方法在Cocoa應用程序中打包其他基於JavaScript的代碼編輯器。