相关疑难解决方法(0)

在Cocoa TextView中突出显示语法?经验?建议?想法?

可能重复:
Cocoa应用程序的语法着色

我感兴趣的是语法高亮显示可可的TextView.

我发现了几个资源:

  • 通过 在委托中匹配的flex模式进行flex方法.在这种方法中,整个字符串在每个输入事件上被解析,因此性能降低.textStorageDidProcessEditingTextView

  • CocoaDev有一个关于语法高亮主题的页面:

    1. 使用NSTextStorageDidProcessEditingNotification,然后获取编辑范围,然后在那里应用着色.范围可能是wordboundaries或任何东西; 这肯定会提高性能.

    2. 在那里提到:例如,Xcode只对当前在屏幕上显示的文本进行着色,并推迟对文档的其余部分进行着色,直到您滚动它为止.如何实现这一点?

    3. 使用NSLayoutManager- 通过临时属性[仅]用于屏幕绘制,并且不以任何方式持久存在......如文档所述,但在输入空格字符之前,不会对最后编辑的范围进行着色.

    4. 自定义助手,如UKSyntaxColoredDocument - 很好,但语言定义是通过属性列表完成的; 如何使用其他/现有的语言定义?

这些方法对我来说似乎都不是可扩展的或强大的(除了4.可能......).

我知道SH的强大现有库像pygments ; 和PyObjC.

问题:如何使用某些现有的库(如pygments)在Cocoa中突出显示可扩展且高效的语法TextView

注意:我知道这个问题非常广泛(太长).欢迎提供经验和建议以及解决方案.谢谢.


在这个问题上找到了另一个类似的线程:Cocoa app的语法着色

python cocoa syntax-highlighting objective-c textview

10
推荐指数
1
解决办法
3403
查看次数