我正在研究Cocoa应用程序,它应该能够分析和突出显示用Objective-C,SQL,JavaScript,Python等语言编写的源代码。文本也应该是可编辑的(例如,使用NSTextView )。
请告知在Mac OS X 10.5中实现此类功能的最佳方法是什么。
无需支持自动完成功能和其他额外功能。通过关键字,字符串,#include和数字进行简单的格式化,但性能很酷就可以了。
此外,如果支持语言配置,那就太棒了。
谢谢!
答案 0 :(得分:16)
在准备需要类似内容的项目时,我发现了以下内容(但未对其进行深入评估):
答案 1 :(得分:6)
我是第二个Ahruman的建议 - 特别是看Uli的UKSyntaxColoredTextDocument,因为这将指导你正确的方向,你将需要了解哪些类等。
这是另一个极好的信息来源:
http://www.cocoadev.com/index.pl?ImplementSyntaxHighlighting
祝你好运 - 语法高亮很难做到,但一路上很有趣!
答案 2 :(得分:2)
我最近不得不为Cocoa寻找一个语法高亮解决方案,在搜索Stack Overflow后,Google和GitHub找不到任何现代的,易于重复使用且仍在积极开发中的东西。
现在看来,大多数语法荧光笔是为网络编写的。幸运的是,实际上很容易将它们嵌入WebView中以便在任何Cocoa应用程序中使用。可以通过WebKit的WebScriptObject protocol进行与编辑器的通信。
以下是Cocoa流行的JavaScript文本编辑器CodeMirror的示例包装器: https://github.com/swisspol/CodeMirrorView
答案 3 :(得分:1)
您可以使用python编写的Pygments生成源代码的HTML表示,然后可以在Web视图中显示。
(请注意,正如以下评论中所反映的那样 - 这个答案是原始问题,没有提及可编辑文本。)
答案 4 :(得分:1)
您可以考虑使用flex(德语)[1]。你可以在这里找到这种方法的一个例子[2]。
[1] http://www.osxentwicklerforum.de/thread.php?postid=14764 [2] http://objectiveous.github.com/davenport/