iOS 6上的语法突出显示

时间:2013-06-06 20:15:38

标签: ios objective-c syntax syntax-highlighting

是否有快速简单的方法在iOS 6上突出显示文字?我需要在iOS 6上创建一个Objective-C编辑器,我认为NSAttributedString就足够了。 我认为我需要Objective-C语法的定义,但是如何使用它呢?有谁可以帮助我?

谢谢!

1 个答案:

答案 0 :(得分:3)

你需要一个Objective-C词法分析器,它将你的原始代码转换成代表语言逻辑部分的标记树。

然后,您可以获取这些标记,为它们着色并从中重新构建文本数据。

明显的词法分析器解决方案是使用GCC的前端或Clang,但它怀疑它们适用于iOS,或者Apple允许你运行它们。

我使用Pygments作为相关项目(虽然不是在iOS上),但我认为其结果很差,我不知道在iOS上调用Python库是否可行(它在操作系统上) X)。

由于iOS限制,我会说在服务器上进行语法高亮显示会更简单,并将结果发送回iOS。

修改

以下是complete (?) Objective-C 2.0 grammar的链接。我认为你不想编写自己的解析器。

搜索语法我偶然发现了ParseKit,这似乎正是你要找的。