Pygments へのコントリビューション¶
コントリビュートへの関心をお寄せいただき、ありがとうございます。以下のガイドラインをお読みください。
ライセンス¶
コードは BSD 2 条項ライセンスの下で配布されています。プルリクエストを行うコントリビューターは、そのライセンスに基づいてコントリビューションを公開することを、望み、承諾することが必須です。
一般的なコントリビュートのチェックリスト¶
新しいレクサー、新しいフォーマッター、新しいスタイル、または新しいフィルタの書き方については、ドキュメントを確認してください。レクサーを追加する場合は、一般的な落とし穴とベストプラクティスをお読みください。
tox
を使用してテストスイートを実行し、合格することを確認します。新しい機能のテストを追加し、必要に応じてドキュメントを作成します。
標準のインポート規約を使用します:
from token import Punctuation
Pygments の目標と目標外¶
Python サポート¶
Pygments は、Python Developer’s Guide に従って、サポートされているすべての Python バージョンをサポートします。さらに、RHEL、Ubuntu LTS、Debian の最新安定バージョンのデフォルト Python バージョンは、公式に EOL であってもサポートされています。EOL の他のバージョンのサポートは、Pygments の目標外です。
検証¶
Pygments は入力の検証を試みません。特定の言語にとって合法ではないコードを受け入れることは、コードベースを単純化し、予期しない動作を引き起こさない場合に許容されます。たとえば、C89 では // ベースのコメントを受け入れるのは問題ありません。事実上すべてのコンパイラがそれをサポートしており、それ専用のレクサーを用意する価値がないためです。
言語サポート¶
可能な限り広範な言語サポートを目指していますが、地球上のすべてのプログラミング言語をサポートすることはできません。最低限の基準は比較的低く設定されていますが、ペットプロジェクトやその他の 1 回限りの言語を避けるために、サポート候補として提案された言語には、それなりの規模のコミュニティがあることを期待しています。社内プログラミング言語や立ち上げたばかりの新しい言語プロジェクトの構文ハイライターが必要な場合は、十分な人気が出るまでプラグインの作成を検討してください。