11

たとえば、Python docstring で@param@type、および@return(つまり、epytext 宣言) を強調表示したいと思います。編集するだけでこれを行う方法を見つけましたPython/Python.tmLanguage; ただし、いくつかの理由から、これを独自のファイルに入れたいと思います。

  1. この強調表示を常に適用したいわけではありません。これは、epydocをドキュメンテーション ツールとして使用するプロジェクト専用です。他のプロジェクトでは、代わりにreStructuredTextを強調表示したいと思います。
  2. Sublime Text が更新されたら、含まれている機能にオーバーレイとして独自の構文を使用したいと考えています。Sublime の作成者が将来のバージョンに含めることを選択する可能性のある Python の機能がいくつかありますが、更新によって基本の Python 構文定義が変更されるたびに、何を変更したかを手動で把握する必要はありません。
  3. 私は独自のエディター構成をバージョン管理に保持していますが、それを独自のものにしたいと考えています。Sublime に付属する構文定義のコピー (おそらく独自仕様? わかりませんが、独立したライセンスを持っていないようです) を持ち歩かなければならないという負担を負いたくありません。

おそらく特定のスコープにのみ適用されるように、強調表示ルールを別のファイルに入れる方法はありますか?

4

1 に答える 1

8

独自の構文ファイルを作成し、Python 構文ファイル ( source.python) から継承し、そこで変更とカスタマイズを行いたいと思われます。Sublime Text 2 は構文ファイルに .tmLanguage 形式を使用しますが、これは少し複雑ですが、幸いなことに、.tmLanguage から継承するだけで、ほとんどの作業は既に完了していますsource.python

やりたいことは、強調表示する部分文字列に一致するように正規表現パターンを設定し、そのパターンに名前を付けることです。のようなものpunctuation.definition.comment.epydocで、 で設定された規則に従いますJava/JavaDoc.tmLanguage。次に、配色ファイル (末尾が.tmTheme) を確認し、選択したスコープ、またはその親のいずれかの設定があることを確認します。これは、ST2 がこの種のことに対して適切なスコープ規則を使用する必要があるためです。

作成した構文ファイルを使用するには、Packages/User(ST2 がアップグレード時に上書きしないように) 貼り付け、エディターで Python ファイルを開き、画面の右下隅にあるドロップダウン リストから新しい構文を選択します。窓。すべてが正しく設定されていれば、epydoc 文字列は配色で設定した色に変更されるはずです。

幸運を!そして、機能する構文ファイルを入手したら、どこかにリンクを投稿してください。そうすれば、他の人もそれを見て使用できるようになります!

于 2012-11-09T23:18:45.360 に答える