我正在开发一个可分析并突出显示多种编程语言(如Objective-C、SQL、JavaScript和Python等)源代码的Cocoa应用程序。该文本应该是可编辑的(例如使用NSTextView)。
请建议在Mac OS X 10.5中实现此功能的最佳方式。
无需支持自动完成和其他额外功能。仅通过关键字、字符串、#include和数字进行简单格式化,性能良好即可。
此外,如果支持按语言进行配置将会很好。
谢谢!
我正在开发一个可分析并突出显示多种编程语言(如Objective-C、SQL、JavaScript和Python等)源代码的Cocoa应用程序。该文本应该是可编辑的(例如使用NSTextView)。
请建议在Mac OS X 10.5中实现此功能的最佳方式。
无需支持自动完成和其他额外功能。仅通过关键字、字符串、#include和数字进行简单格式化,性能良好即可。
此外,如果支持按语言进行配置将会很好。
谢谢!
我正在准备一个将需要类似功能的项目,我已经找到了以下内容(但没有进行深入评估):
我赞同Ahruman的建议 - 特别是要看看Uli的UKSyntaxColoredTextDocument,因为它会指引你学习哪些类等知识方面的正确方向。
这是另一个极好的信息来源:
http://www.cocoadev.com/index.pl?ImplementSyntaxHighlighting
祝你好运 - 语法高亮很难做到完美,但在这个过程中会很有趣!
最近我需要为Cocoa寻找一种语法高亮的解决方案,但在Stack Overflow、Google和GitHub上搜索后,我没有找到任何现代化、易于重用且仍在积极开发中的解决方案。
看起来现在大多数的语法高亮器都是为Web编写的。幸运的是,将它们嵌入到WebView中以在任何Cocoa应用程序中使用实际上非常容易。通过WebKit的WebScriptObject协议可以与编辑器进行通信。
这里有一个示例包装器,用于将流行的JavaScript文本编辑器CodeMirror用于Cocoa: https://github.com/swisspol/CodeMirrorView
您可以考虑使用 flex,如此处所述(德语)[1]。您可以在此处找到此方法的示例[2]。
[1] http://www.osxentwicklerforum.de/thread.php?postid=14764 [2] http://objectiveous.github.com/davenport/