2016-09-16 22 views
0

現在、テキストファイルから(手動で)情報を抽出しようとしています。テキストファイルは適切なフォーマット(解析可能)を持っていますが、 'ランダムな文字'のようなものが含まれています。これらのランダムな文字は完全にランダムではなく、アルゴリズムを実行して情報を収集することができます。私は各charに正の整数を与えています。崇高なテキストの変更テキストの色

質問は私がそれらの文字を見るのを助ける崇高なテキスト3のプラグインを書くことができるかどうかです。

これらの文字の色を変更したいと思います。

注:同じ文字列に2色の文字が存在する可能性があります。色は位置によって異なります。

このようなプラグインは、崇高なテキストのために書かれますか?代わりに私は何を使うことができますか?各文字にスコアを与えるアルゴリズムは、Pythonで書かれています。

+0

お試しください。 – innoSPG

+0

私は努力していますが、崇高なapiをよく知りません。私は前景の色を設定する方法は何もできません – Tandura

答えて

0

私はSublime APIで直接作業している経験はありませんが、私は矩形/アウトラインでファイル内のものを強調表示するプラグインを持っています。 api referenceから、これを処理するためにリージョンが使用されているようです。調べたいadd_regions()関数があります。リファレンスには、この関数を使用するサンプルプラグインとしてPackages/Default/mark.pyがリストされています。

前景を特に変更する場合、最後の投稿in this threadは、それが不可能であることを示唆しています。

+1

あなたのフォーラムリンクは2013年1月のもので、Sublime Text 2を参照しています。それ以来APIは大幅に改善されています(半正式バグトラッカー、パッケージはオープンソース化されています)、これが可能になりました。 – MattDMo

+0

@MattDMo良い情報! – plast1k

1

Regionのテキストの色を設定するには、あなたの配色にカスタマイズされたscope selectorが必要です。次に、ハイライトしたいテキストをリージョンに変換したら、sublime.Viewsublime_plugin.TextCommandサブクラスでアクセシブルなself.viewにアクセス可能)のadd_regions()メソッドを使用して、リージョンをビューに追加し、スコープを割り当てます。その領域は、あなたの配色に合わせてハイライト表示されます。

+0

'add_regions'のscopeパラメータはハイライトとガターマークの色を取得するためのものです。その範囲はそれぞれの地域に適用されません。したがって、テキストの色は変わりません。 APIドキュメントは、 "スコープは領域を描画するための色のソースに使用されます"と読みます。 MattDMoを明確にできますか? – pykong

+0

フラグパラメータをメソッドに渡さないと、実際にスコープの色が変わってしまいます。フラグパラメータでは、動作していません。あなたの答えはこれを反映するはずです、MattDMo! – pykong

0

CudaTextアプリでは、Python APIを使用できます。 APIにはコードを実行するためのon_change_slowイベントがあります。そして、あなたのコードはテキストのx/yの位置を見つけなければならず、ed.attr()と呼んでx/yの部分文字列を任意の色で強調表示します。それは簡単です。

関連する問題