可能性の重複:
Syntax coloring for Cocoa appシンタックスCocoa TextViewで強調表示しますか?経験?提案?アイデア?
私はココアのTextViewにを強調構文に興味があります。 TextView
デリゲートにtextStorageDidProcessEditing
と照合flexパターンを経由して、
- は、私はいくつかのリソースを発見しました。このアプローチでは、文字列全体が各入力イベントで解析されるため、パフォーマンスが低下します。
使用
NSTextStorageDidProcessEditingNotification
、その後、編集した範囲を取得し、そこに着色を適用します。CocoaDevはown page on the topic of syntax highlightingがあります。範囲は単語境界などである可能性があります。これにより間違いなくパフォーマンスが向上します。
ここに記載されています:Xcodeは、たとえば、現在スクリーン上に表示されているテキストのみを色付けし、スクロールするまでドキュメントの残りの部分を色づけしません。これはどのように実装されますか?唯一、画面上の描画に使用し、任意の方法で永続的ではありませんされている[] 一時的な属性...経由でドキュメントが言うように、しかしが最後編集した範囲を着色していないこと -
使用
NSLayoutManager
空白文字が入力されるまで続けます。カスタムヘルパーのようにUKSyntaxColoredDocument - いいですが、言語の定義はプロパティリストで行います。追加/既存の言語定義の使い方アプローチの
どれも私には本当に拡張性や堅牢思えない(多分4を除きます。)。
私は、SHのための強力な既存のライブラリがpygmentsのように分かっています。 PyObjCです。
質問:既存のライブラリをどのように使用することができますか? pygmentsのように、ココアTextView
で拡張性とパフォーマンスの高い構文の強調表示を使用していますか?
注::私はこの質問が非常に幅広く(しかも長すぎる)ことを知っています。経験と提案と解決策は大歓迎です。ありがとう。そのことで、他の同様のスレッドが見つかり
:Syntax coloring for Cocoa app
Smultronはもはやオープンソースではないため、ソースコードはもう入手できません。 – zpasternack
ソースはまだsoureforgeのWebサイトで入手できます。ここをクリックしてください:http://sourceforge.net/projects/smultron/files/smultron/3.6b1/ – Daniel
私は修正しました、ありがとう! – zpasternack