Pygments FAQ

Pygmentsとは?

Pygmentsは、Pythonで記述された構文ハイライトエンジンです。つまり、サポートされている言語のソースコード(またはその他のマークアップ)を受け取り、構文ハイライトマークアップを含む処理済みバージョン(さまざまな形式で)を出力します。

その機能には以下が含まれます。

  • 幅広い一般的な言語とマークアップ形式がサポートされています。

  • 新しい言語と形式を簡単に追加できます。

  • 多数の出力形式が利用可能です。これらには以下が含まれます。

    • HTML

    • ANSIシーケンス(コンソール出力)

    • LaTeX

    • RTF

  • コマンドラインツールとライブラリとして使用できます。

  • 解析とフォーマットが高速です。

PygmentsはBSDライセンスの下でライセンス供与されています。

Pygmentsという名前の由来は?

PyはPythonを表し、pigmentsは塗料の色付けに使用され、ここではソースコードの色付けに使用されます!

システム要件は?

Pygmentsは、標準的なPythonインストールのみが必要です。追加のライブラリは必要ありません。

Pygmentsの使用方法

Pygmentsは、コマンドラインツールとライブラリの両方として使用できます。

コマンドラインからの使用方法は次のようになります(pygmentizeスクリプトが正しくインストールされていることを前提としています)。

pygmentize -f html /path/to/file.py

これにより、/path/to/file.pyのHTMLで強調表示されたバージョンが標準出力に出力されます。

完全なヘルプについては、pygmentize -hを実行してください。

ライブラリとしての使用方法については、ドキュメントセクションで詳しく説明されています。

新しいスタイルの作成方法

スタイルに関するドキュメントを参照してください。

バグの報告や機能の提案方法

バグと機能の要望は、GitHubのトラッカーに報告してください。

作成者にもメールを送信できます。連絡先情報をご覧ください。

この言語のサポートを追加してほしい!

他の人が言語サポートを追加するのを待つ代わりに、自分で作成してみませんか?必要な知識はすべてドキュメントに記載されています

プログラミング言語処理にPygmentsを使用できますか?

Pygmentsの字句解析機構は非常に強力で、基本的にすべての言語の字句解析器を作成するために使用できます。ただし、構文解析はできませんが、一部の字句解析器は、たとえば関数名を異なる方法で強調表示するために、この方向にいくつかのステップを進めています。

また、エラーレポートはPygmentsの範囲外です。構文的に有効なドキュメントを正しく強調表示することに重点を置いており、エラーの検出と補正は行いません。

Pygmentsを使用しているのは誰か?

これは、Pygmentsハイライターを使用していることが知られているプロジェクトとサイトの(不完全な)リストです。

  • Wikipedia

  • BitBucket(MercurialおよびGitホスティングサイト)

  • Sphinxドキュメントビルダー(埋め込みソース例用)

  • rst2pdf(reStructuredTextからPDFへのコンバーター)

  • Codecov(コードカバレッジCIサービス)

  • Trac(汎用プロジェクト管理ツール)

  • AsciiDoc(テキストベースのドキュメントジェネレーター)

  • ActiveState Code(Pythonクックブックの後継)

  • ViewVC(Webベースのバージョン管理リポジトリブラウザ)

  • BzrFruit(Bazaarブランチビューアー)

  • QBzr(Bazaar用のクロスプラットフォームQtベースのGUIフロントエンド)

  • Review Board(共同コードレビューツール)

  • Diamanda(PygmentsをサポートするDjangoベースのwikiシステム)

  • Progopedia英語)、プログラミング言語の百科事典

  • Bruce(reStructuredTextプレゼンテーションツール)

  • PIDA(Pythonで記述された汎用IDE)

  • BPython(cursesベースのインテリジェントPythonシェル)

  • PuDB(コンソールPythonデバッガー)

  • XWiki(Jythonを使用するJavaのwikiベース開発フレームワーク)

  • roux(Rスクリプトを実行し、グラフを含む美しい出力を生成するためのスクリプト)

  • hurl(HTTPリクエストを行うためのWebサービス)

  • wxHTMLPygmentizer(コードの色付けを容易にするGUIユーティリティ)

  • Postmarkup(BBCodeからXHTMLへのジェネレーター)

  • WpPygmentsおよびWPygments(WordPress用ハイライタープラグイン)

  • Siafoo(役立つコードとプログラミング経験を共有および保存するためのツール)

  • D source(Dプログラミング言語のコミュニティ)

  • dpaste.com(もう1つのDjango pastebin)

  • Django snippets(Djangoコード用のpastebin)

  • Fayaa(中国語のpastebin)

  • Incollo.com(無料の共同デバッグツール)

  • PasteBox(プライバシーに重点を置いたpastebin)

  • hilite.me(コードスニペットを強調表示するサイト)

  • patx.me(pastebin)

  • Fluidic(シェルとGUIの統合を試みた実験)

  • pygments.rb(Ruby用のpygmentsラッパー)

  • Clygments(Clojure用のpygmentsラッパー)

  • PHPygments(PHP用のpygmentsラッパー)

  • Spyder(Scientific Python Development Environment)は、そのエディターにおける複数言語の構文ハイライトにpygmentsを使用しています。

  • snippet.host(最小限のテキストとコードスニペットのホスティング)

  • sourcehut(ハッカーのためのforge)

  • Material for MkDocs(人気の静的サイトジェネレーター)

Pygmentsを使用しているプロジェクトまたはWebサイトがある場合は、issueまたはPRを開いてください。ここに一行追加します。