开源的Objective-C语法高亮器?

3
有没有人能指导我使用一个项目/框架/教程,最好是用Objective-C(或C/C++)来演示/处理语法高亮?我希望它能够在UITextView(iPhone/iPad)中工作,并支持至少PHP,但最好也支持JavaScript/CSS/HTML等。我在谷歌上搜索了很久都没有找到合适的结果,所有的东西似乎都是博客插件之类的,用于在< pre >标签中显示彩色内容。我不需要它进行任何语法检查,只需要着色即可。
谢谢!

1
UITextView不行,因为它只支持纯文本。 - Mike Abdullah
我认为没有一个项目能够满足你的所有要求。但是Session 110 - Advanced Text Handling for iPhone OS展示了实现这样一个项目所需的内容。 - vikingosegundo
3个回答

2
你真正需要的是通常被称为“漂亮打印机”的工具。
对于Objective-C,Mac已经内置了一个很好的格式化程序,叫做Enscript——它可以输出eps,也可以输出HTML(和其他一些格式)。一个生成一个HTML文件,其中包含多个高亮和格式化文件以及目录链接的示例命令行如下:
enscript -E --color --language=html --toc -pfile.html *.h *.m

由于它是开源的,您应该能够调整源代码以供Objective-C使用,可能是通过UIWebView...或者如果您有很多时间,您可以将引擎调整为输出格式化的UIAttributedStrings。但这至少是一个开始的地方。


2

请查看TexShop(http://pages.uoregon.edu/koch/texshop/)或Smultron(http://smultron.sourceforge.net/)的源代码。


我其实前几天就想要试试Smultron,但是直到现在才想起来!我会去调查一下看看能找到什么资料。 - Josh

0

这是一个针对Cocoa/Objective-C的VIM插件 - 它可能会有所帮助!

http://www.vim.org/scripts/script.php?script_id=2674

注意:

大家不必一直投反对票 - 这不是可编译的代码,也不是你想要的格式 - 我知道这一点 - 我只是在这里陈述一个简明的规则文件,描述了你想要的语言的颜色高亮显示!


不幸的是,我需要它能够嵌入我编写和分发的可执行文件中。想象一下我正在编写Komodo或类似的IDE。我知道Komodo是Java编写的,但仍然需要将这些内容放入二进制文件中以进行高亮显示。 - Josh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接