Pygments 変更ログ¶
2.4.2より前のプルリクエスト番号は、廃止されたBitbucketプロジェクトを参照しているため、リンクされていません。
バージョン 2.19.0¶
(未リリース)
新しいレクサー
更新されたレクサー
C#:数値の強調表示を修正 (#986, #2727)、
file
キーワードを追加 (#2726)、その他さまざまなキーワードを追加 (#2745, #2770)Debian control:
Change-By
フィールドを追加 (#2757)Elip:句読点の処理を改善 (#2651)
Java:疑問符を含む型を返す関数をサポート (#2737)
PostgreSQL:より多くの
EXPLAIN
キーワードを追加 (#2785)TransactSQL:1行コメントを修正 (#2717)
Typst:さまざまな改善 (#2724)
Vyper:
staticcall
とextcall
を追加 (#2719)
バージョン 2.18.0¶
(2024年5月4日リリース)
新しいレクサー
更新されたレクサー
Awk:三項演算子を認識 (#2687)
Coq:キーワードを追加、より多くの口語的なコマンド引数を字句解析、見出しコメントでのトークンの数を削減 (#2678)
DNSゾーンファイル:コメント解析を修正 (#2595)
Hy:Unicodeリテラルをサポート (#1126)
Inform6:Inform 6.42に更新 (#2644)
lean:名前の処理を修正 (#2614)
Logtalk:
uninstantiation
キーワードを追加し、エスケープシーケンスを認識 (#2619)Macaulay2:1.23に更新 (#2655)
Python:
None
/True
/False
の前にあるソフトキーワードの強調表示を修正reStructuredText:コメントに
Comment.Preproc
の代わりにToken.Comment
を使用 (#2598)Rust:
:
、::
、->
をText
ではなくPunctuation
として、空白をText
ではなくWhitespace
として強調表示 (#2631)Spice:キーワードを追加 (#2621)
SQL Explain:負の数を許可 (#2610)
Swift:複数行文字列をサポート (#2681)
ThingsDB:定数と新しい関数を追加。テンプレート文字列をサポート (#2624)
UL4:ネストされた
<?doc?>
と<?note?>
タグをサポート (#2597)VHDL:VHDL-2008の複数行コメントをサポート (#2622)
Wikitext:
variant_langs
でkk-*
を削除 (#2647)Xtend:
val
とvar
を追加 (#2602)
新しいスタイル
Coffee (#2609)
画像フォーマッタの背景色がPillow 10.0で動作するようにする (#2623)
Python 3.8以降が必要になりました。その結果、Python 3.7での高速なプラグイン検出には
importlib-metadata
パッケージが不要になりました。plugins
エクストラ(例:pip install pygments[plugins]
として使用)は下位互換性のために維持されていますが、現在は効果がありません。(#2601)Pygments内のレクサーに対して
url
属性を必須にし、多くのレクサーに追加 (#2588)PyflakesリンターをRuffに置き換え (#2592)
macOS CIを追加 (#2594)
組み込みレクサーは、docstring内の
.. versionadded::
ディレクティブではなく、必須のversion_added
レクサー属性に追加されたPygmentsのバージョンを宣言するようになりました (#2589, #2634)組み込みのレクサーでは
url
属性が必須となりました。この属性は既存のすべてのレクサーにも追加されました ( #2588)Pythonコンソールレクサーのエイリアスとして
pycon
を登録しました ( #2697)DesktopLexer
のMIMEタイプを追加しました ( #2613)ネイティブスタイルを修正し、WCAG AAガイドラインに準拠させました ( #2600)
ドキュメントの誤字を修正しました ( #2672)
フォーマット文字列を統一的に使用しました ( #2661)
型サポートを向上させるため、
Formatter
に__class_getitem__
を追加しました ( #2665)
バージョン 2.17.2¶
(2023年11月21日リリース)
macOSでのパッケージングの問題を修正しました ( #2593)
バージョン 2.17.1¶
(2023年11月19日リリース)
更新されたレクサー
TOML: 単一引用符で囲まれた文字列の字句解析が過剰に行われていたバグを修正しました。
バージョン 2.17.0¶
(2023年11月18日リリース)
新しいレクサー
更新されたレクサー
Cypher: コメントの一致を修正し、不足していたキーワードを追加しました ( #2504)
Fortran:
elseif
キーワードを追加しました ( #2528)Lean: Lean 4への切り替えに備え、
lean3
として利用できるようにしました ( #2546)JSON: 複数の改行区切りJSONフォーマットのMIMEタイプとファイル拡張子を追加しました ( #2490)
OCaml:
and
キーワードを追加し、キーワードからvalue
を削除しました ( #2521)Snowball:
len
をsize
のように扱います ( #2508)Spice:
panic
キーワードと->
演算子を追加しました ( #2510)squid.conf: 破壊的なバックトラッキングを修正しました ( #2583)
TOML: 多くの修正を加えて書き直しました ( #2576)
Turtle: ブランクノードをサポートしました ( #2581)
Wikitext: LanguageConverterマークアップの誤った強調表示を修正し、不足していたバリアント言語を追加しました ( #2493、 #2494)
CMake:
[=[ bracketed arguments ]=]
をサポートしました ( #2549)
ctagsのサポートとテストを修正しました ( #2487)
ドキュメントに
Lexer.add_filter
を含めました ( #2519)Lean3Lexer
エイリアスを追加しました ( #2546)pygments.styles
モジュールには、組み込みスタイルの辞書を含む新しいSTYLES
変数が含まれています。異なる形式を使用する古いSTYLE_MAP
変数は、下位互換性のために保持されています。Windowsでは、カラーコンソール出力の依存関係を取り込む新しいインストールエクストラ(
windows-terminal
)を追加しました。詳細については、コマンドラインインターフェースを参照してください。( #2505)autopygmentize
スクリプトでより多くのファイルタイプをサポートしました ( #2513)rrt
スタイルでの数値の色を変更しました ( #2526)出力フォーマットのファイル拡張子でプラグインフォーマッタを検索しようとしたときのエラーを修正しました ( #2563)
ビルドバックエンドとしてsetuptoolsの代わりにHatchlingを使用しました。この変更はほとんどのユーザーにとって透過的です。ビルド分離なしでビルドする配布パッケージャーは、ビルド依存関係としてhatchlingを追加し、setuptoolsを削除する必要があります。PyPIからソース配布とホイールを直接ダウンロードする人は、ファイル名に
Pygments
ではなくpygments
が含まれるようになったことに注意してください。( #2573)スニペットとサンプルファイルの処理時にトークンが失われていないかを確認するよう、テストフレームワークを改善しました ( #2582 )
保守性を向上させるため、*Dracula*スタイルの定義を改善しました ( #2575)
バージョン 2.16.1¶
(2023年8月6日リリース)
スタイルリストから
native
スタイルが欠落していたのを修正しました ( #2484)
バージョン 2.16.0¶
(2023年8月6日リリース)
新しいレクサー
更新されたレクサー
ASC:
application/pem-certificate-chain
mimetypeを追加しました ( #2471)Elpi: 引用符を処理します ( #2419)
Go: 追加の組み込み関数をサポートしました ( #2481)
HTTP: 空のヘッダーをサポートしました ( #2461) 、より一般的なメソッドをサポートしました ( #2460) 、
analyse_text
実装でもレスポンスを認識しました ( #2460) 、URLエンコードされたデータを強調表示します ( #2465、 #1620)Igor Pro: Igor Pro 9に更新しました ( #2482)
lean: 属性内にネストされた式を認識します ( #1817)
Macaulay2: 組み込み関数を更新しました ( #2457)
Markdown: コードブロックで言語名後に余分な文字を許可しました ( #2437)
NestedText: バージョン3に更新しました ( #2459)
scdoc: 言語推測の実装を改善しました ( #2402)
Spice: 最新バージョンに更新しました ( #2476)
Transact SQL: Pre-sorted Groupキーワードを追加しました ( #2417)
Uxntal: 現在のルーンに対応しました ( #2424)
Wikitext: ウィキリンク内のテンプレートを修正しました。言語コンバータの誤検出を修正し、太字イタリックマークアップを追加しました ( #2447)
太字イタリックマークアップ用に
Generic.EmphStrong
トークンを追加しました ( #2444)Lightbulbスタイルを追加しました ( #2474)
Monokaiスタイルのコントラストを改善しました ( #2448)
ImageFormatter
にTrueTypeフォントの読み込みをサポートしました ( #1960)
バージョン 2.15.1¶
(2023年4月18日リリース)
バージョン 2.15.0¶
(2023年4月10日リリース)
追加された字句解析器
更新されたレクサー
AMDGPU:
scratch_
命令、attr*.*
引数、およびoff
修飾子に対するサポートを追加しました(#2327)。APDL: 各種改良(#2314)
bash/tcsh
Chapel: 属性のサポートを追加しました(#2376)
diff: ユニファイドdiff構文ではなく、通常のdiff構文をサポートしました(#2321)
GLSL、HLSL
LilyPond: 組み込み関数のマイナーアップデート
PHP: 属性のサポートを追加(#2055、#2347、#2360)、パラメータのない匿名クラスの修正(#2359)、可変変数構文の字句解析の改良(#2358)
Python
Spice: キーワードの更新(#2336)
SQL+Jinja(
analyse_text
メソッド): 破滅的なバックトラッキングを修正しました(#2355)Terraform:
hcl
エイリアスの追加(#2375)
Python 3.11のサポートを追加し、Python 3.6のサポートを削除しました(#2324)。
native
スタイルを更新してコントラストを向上させました(#2325)。github-dark`スタイルを最新のPrimerスタイルに合わせました(#2401)
Python 3.10以前でファイル名に基づいて字句解析器を推測する処理速度を低下させた変更を元に戻しました(#2328)。
ロケール依存のエンコーディングが意図せずUTF-8の代わりに使用される可能性のある箇所を修正しました(#2326)。
Groffフォーマッタ: 再現性を高めるため、色の定義をソートしました(#2343)
プロジェクトメタデータを
pyproject.toml
に移行し、setup.py
とsetup.cfg
を削除しました(#2342)トップレベルの
Makefile
を削除しました。代わりに、開発用のすべてのショートカットはtoxを通して定義および実行されるようになりました。doc
フォルダには、tox -e doc
の代替としてMakefile
が残っています。
バージョン 2.14.0¶
(2023年1月1日リリース)
追加された字句解析器
更新されたレクサー
Abap: キーワードの更新(#2281)
Alloy: Alloy 6に対応(#1963)
Cファミリー (C、C++、その他多数)
CSound: 組み込み関数の更新(#2268)
F#:
.fsx
ファイル拡張子の追加(#2282)gas (GNU assembler): 括弧を句読点として認識するようになりました(#2230)
HTTP: CONNECTキーワードを追加しました(#2242)
Inform 6: プロパティと倍精度の数値の字句解析を修正しました(#2214)
Javaプロパティ: 空白区切りキーの問題を修正し、!で始まるコメントとエスケープをサポートしました。ドキュメント化されていない;と//コメントのサポートを削除しました(#2241)
LilyPond: ヒューリスティックの改善、
\maxima
durationの追加(#2283)LLVM: 不透明ポインタ型を追加しました(#2269)
Macaulay2: キーワードの更新(#2305)
Minecraft関連の字句解析器(SNBとMinecraft関数)を
pygments.lexers.minecraft
に移動しました(#2276)Nim: 各種改良(#1970)
Nix: インデントされた文字列内の単一引用符を修正しました(#2289)
Objective J: 破滅的なバックトラッキングを修正しました(#2225)
NASM: SSE/AVX/AVX-512レジスタと'rel'および'abs'アドレス演算子のサポートを追加しました(#2212)
Powershell
Solidity: ブール演算子を追加しました(#2292)
Spice:
enum
キーワードを追加し、2進数、16進数、8進数のトークンに関するバグを修正しました(#2227)。YAML: キー名にコロンを許可しました(#2277)。
Pygmentsが編集可能なモードでインストールされていない場合のmake mapfilesを修正しました(#2223)。
autopygmentizeでより多くのファイルタイプと圧縮タイプをサポートしました(#2219)。
Autohotkey、Clayで連続するトークンをマージしました(#2248)。
NASMの認識済みファイルタイプとして
.nasm
を追加しました(#2280)。HSpec
の認識済みファイルタイプとして*Spec.hs
を追加しました(#2308)。Pythonの認識済みファイルタイプとして
*.pyi
(型スタブファイル用)を追加しました(#2231)。HTMLレクサーは、空白文字に対して空のspanを出力しなくなりました(#2304)。
IRCFormatter
が行番号を正しく挿入しない問題を修正しました(#2270)。
バージョン 2.13.0¶
(2022年8月15日リリース)
追加された字句解析器
更新されたレクサー
Ada: Ada 2022をサポートしました(#2121)。アスペクトの字句解析を妨げるため、名前空間の認識を無効にしました(#2125)。
Agda: モジュール名にストレートクォートを許可しました(#2163)。
Cファミリー(C、C++など多数):関数ヘッダーの要素間(例えば、引数と本体の開始中括弧の間)にコメントを許可しました(#1891)。
Coq: 一部の一般的なキーワードを追加し、
Set
と修飾識別子の認識を改善しました(#2158)。F*: 行内のどこにでもCスタイルのコメントを許可しました。
Fortran: 文字列内のバックスラッシュによる悲惨なバックトラッキングを修正しました(#2194)。
Go: ジェネリクスをサポートしました(#2167)。
Inform: バージョン6.40に更新しました(#2190)。
Isabelle: カートゥーシュを認識しました(#2089)。
Java: マルチライン文字列(別名テキストブロック)をサポートしました(#2132)。
Kotlin:
value
修飾子を追加しました(#2142)。LilyPond: いくつか不足していたビルトインを追加しました。
Macaulay2: ビルトインを更新しました(#2139)。
Matlabセッション: 出力に行継続の省略記号が表示された場合のトレースバックを修正しました(#2166)。
.NET: LibreOffice Basic、OpenOfficeBasic、StarOffice Basicのエイリアスを追加しました(#2170)。
Nim:
Keyword.Type
の代わりにName.Builtin
を使用しました(#2136)。PHP: 文字列内の"$var"を修正しました(#2105)。
Python: 文字列リテラル内では
\N
、\u
、\U
エスケープシーケンスのみを認識し、バイトリテラル内ではサポートされていないため認識しなくなりました(#2204)。Tcl:
${name}
変数をサポートしました(#2145)。Terraform: << heredocデリミタの先頭の空白を許可しました(#2162)。
Teraterm: さまざまな改善を行いました(#2165)。
Spice: より多くのビルトイン関数とbin、oct、hex数値形式を含む、最近追加された機能をサポートしました(#2206)。
追加されたスタイル
Pygmentsは、より遅い
pkg_resources
の代わりに、プラグインの検出にimportlib.metadata
モジュールを使用するようになりました(#2155)。特に、レクサーが指定されていない場合、pygmentize
スクリプトの速度が大幅に向上します。importlib.metadata
は、Python 3.8以降のPython標準ライブラリでのみ利用可能です。それ以前のバージョンには、PyPIにimportlib_metadata
バックポートが存在します。このため、Pygmentsは、Pythonのバージョンが3.8より古い場合にimportlib_metadata
への依存関係を追加するplugins
というパッケージングエクストラを定義するようになりました。したがって、古いPythonバージョンでも最適なプラグインサポートでPygmentsをインストールするには、次のようにします。pip install pygments[plugins]
importlib.metadata
とimportlib_metadata
のどちらも見つからない場合、Pygmentsは依然としてpkg_resources
にフォールバックしますが、速度は低下します。コマンドラインインターフェースで
BrokenPipeError
をサイレントに無視します(#2193)。HtmlFormatter
は、lineanchors
属性が設定されていない場合、anchorlinenos
にlinespans
属性を使用するようになりました(#2026)。highlight
、lex
、format
関数は、実際の問題ではない場合に、「引数はレクサー/フォーマッターのインスタンスでなければならず、クラスではありません」というエラーを報告しなくなりました(#2123)。ドキュメントビルドの警告を修正しました(#2124)。
codetagify
フィルターは、デフォルトでFIXME
タグを認識するようになりました(#2150)。pygmentize
コマンドは、COLORTERM
環境変数が真の色サポートが利用可能であることを示す値に設定されているかどうかを認識するようになりました。その場合、デフォルトでTerminalTrueColorFormatter
を使用します(#2160)。ファイル名パターンの冗長なキャッシュを削除しました(#2153)。
ImageFormatter
でテキストのバウンディングボックスに新しい非推奨のPillow APIを使用しました(#2198)。単体テストで
DeprecationWarnings
をエラーとして扱わなくなりました(#2196)。
バージョン 2.12.0¶
(2022年4月24日リリース)
追加された字句解析器
更新されたレクサー
Agda: キーワードリストを更新しました(#2017)。
Cファミリー:
case
文の後の識別子を修正しました(#2084)。Clojure: 比率を強調表示しました(#2042)。
Csound: 6.17に更新しました(#2064)。
CSS: プロパティ一覧の更新 (#2113)
Elpi
Futhark: 欠損トークンの追加 (#2118)
Gherkin:
But
の追加 (#2046)Inform6: 6.36 への更新 (#2050)
Jinja2: 関連するレクサーへの
.xxx.j2
と.xxx.jinja2
の追加 (xxx
=html
,xml
など) (#2103)JSON: JSON での C コメントのサポート (#2049)。注記: これにより、JSON パーサーが JSONC や JSON5 を適切にサポートするようになったわけではありません。単に、
/* */
または//
スタイルのコメントを見てもエラーが発生しなくなったということです。適切なコメント処理が必要な場合は、JavaScript
レクサーの使用を検討してください。LilyPond
Python:
EncodingWarning
のハイライト表示 (#2106)Savi: アンダーバー/プライベート識別子のハイライト表示の修正、文字列補間の追加 (#2102)。ネストされた型名のハイライト表示の修正 (#2110)
Scheme: さまざまな改善 (#2060)
Terraform
get_all_lexers()
にplugins
引数の追加。最小Pythonバージョンを3.6に引き上げ (#2059)
複数のレクサーが空白を
Text
としてマークする問題の修正 (#2025)re.UNICODE
の冗長な使用の削除 (#2058).resource
と Robot framework の関連付け (#2047).cljc
と Clojure の関連付け (#2043).tpp
と C++ の関連付け (#2031)ドキュメントから Python 2 の痕跡を削除 (#2039)
native
スタイルを更新し、WCAG AAA コントラストガイドラインを満たすようにしました (#2038)様々なタイプミスを修正 (#2030)
Groff
フォーマッタがトークンスタイルを正しく継承しない問題を修正 (#2024)CIへの様々な改善 (#2036)
Ada レクサーを別のファイルに移動しました (#2117)
linenos=table
が使用されている場合、<table>
自体が<td class="code">
セルの内部に配置されるのではなく、<div class="highlight">
タグでラップされるようになりました (#632)。この変更により、出力は文書化された動作と一致するようになりました。
注記
HtmlFormatter.wrap
をサブクラス化した場合は、ロジックを調整する必要がある可能性があります。
バージョン 2.11.2¶
(2022年1月6日リリース)
バージョン 2.11.1¶
(2021年12月31日リリース)
バージョン 2.11.0¶
(2021年12月30日リリース)
追加された字句解析器
更新されたレクサー
ABNF: 1文字のルールの許可 (#1804)
Cファミリ: Unicode識別子のサポート (#1848)
CDDL: 字句解析速度の低下修正 (#1959)
Debian control: 欠損フィールドの追加 (#1946)
Devicetree: ノードの16進アドレスの認識 (#1949)
GDScript:
void
データ型の追加 (#1948)GSQL
HTML、XML: コメント処理の改善 (#1896)
objdump-nasm:
--no-show-raw-insn
ダンプの処理改善 (#1981)Prolog: クォーテーションされた文字列内でのエスケープされた
\
のサポート (#1479)Python
Terraform
追加されたスタイル
注記
残念ながら、新しいスタイルの全てがWCAG推奨事項に準拠していません。
スタイルのアクセシビリティを向上させるための新しいインフラストラクチャが導入されました。デフォルトスタイルはWCAG推奨事項に準拠するように更新されました。回帰を防ぐため、すべてのスタイルについて、デフォルトで十分なコントラストが確認されるようになりました。(#1919, #1937, #1938, #1940)
使用されていないインポートの整理 (#1887)
複数のlexerで繰り返し発生する1文字トークンの修正
複数のlexerにおける空白文字の
Text
としてのマーク付けの修正 (#1237, #1905, #1908, #1914, #1911, #1923, #1939, #1957, #1978)Paraisoスタイルにおける重複した代入の削除 (#1934)
pygmentize
は、様々なリスト関数のJSON出力をサポートするようになりました。これにより、スクリプトからの利用が容易になります。(#1437, #1890)kshrc
ファイルにshell
lexerを使用 (#1947)Vagrantfile
ファイルにruby
lexerを使用 (#1936).xbm
と.xpm
ファイルにC lexerを使用 (#1802)groff
フォーマッタの追加 (#1873)ドキュメントの更新 (#1928)
行アンカーが自分自身にリンクするようになりました (#1973)
Python 3.10の公式サポート追加 (#1917)
ダークスタイルにおけるいくつかの色の欠落を修正: Gruvbox dark, Monokai, Rrt, Sas, Strata dark (#1955)
man
ページに関連するファイルタイプの追加HtmlFormatter
は、lexerのデバッグを容易にするために、各トークンにツールチップを出力できるようになりました (#1822)fortran
のエイリアスとしてf90
を追加 (#2000)
バージョン 2.10.0¶
(2021年8月15日リリース)
バージョン 2.9.0¶
(2021年5月3日リリース)
追加された字句解析器
更新されたレクサー
Pangoフォーマッタの追加 (#1727)
Autopygmentizeが
pygments -N
ではなくfile
を優先的に使用 (#1786)リンクの修正 (#1716)
エイリアスの順序の改善 (#1780)
CTag関連の問題の修正 (#1724)
.leex
をElixirテンプレートとして認識不正な変数へのアクセスを修正 (#1748)
HTMLフォーマッタにおけるfilenameの処理の更新(linenos=’table’の場合)(#1757)
以前は、ファイル名はコードを含む<td>内、<pre>の外に出力されていました。これは、行番号との位置合わせを常に崩していました。
現在、filenameが指定されている場合、テーブルコンテンツの前に別々の<tr>が出力され、colspan=2を持つ単一の<th>が含まれ、行番号とコードの両方の列にまたがります。ファイル名は<span class=”filename”>…</span>内に残っているので、既存のスタイルは引き続き適用されますが、CSSパスを変更する必要がある場合があります。
新しい出力形式の例については、tests/html_linenos_expected_output/ディレクトリのtable_cls_step_1_start_1_special_0_noanchor_filename.htmlを参照してください。
詳細と議論については、問題点 https://github.com/pygments/pygments/issues/1757 を参照してください。
追加されたスタイル
Gruvbox light+dark (#1763)
バージョン 2.8.0¶
(2021年2月14日リリース)
追加された字句解析器
更新されたレクサー
追加されたスタイル
pygmentizeスクリプトは現在argparseを使用しており、すべてのオプションは以前と同様に動作します。
pygmentize -Cオプションを追加して、コンテンツからレキサを推測します。
このリリースにより、Pygmentsは新しい内部テストシステムに移行します(#1649)。
Contributing.md
を参照してください。詳細については、この新しい変更の主な利点は、既存の例レキサのテストカバレッジが大幅に向上したことです。また、新しいテストスニペットを追加することも容易になります。Python 3レキサを優先的に推測する
理由なくMIMEまたはSQLを推測しない
setup.cfg
を通じて宣言型の設定を使用するようにsetuptoolsを変更しました。Pygmentsの構築には、setuptools 39.2以降が必要です。MarkdownLexerエイリアスにmarkdownを追加 (#1687)
行番号処理の変更
<table>
ベースの出力では、td.linenos
要素にはnormal
またはspecial
クラスが付加されます。以前は、特別な行番号のみにクラスが付けられていました。これにより、スタイルが2回適用されるのを防ぎます(1回は<pre>
を介して、もう1回は<span class="special">
を介して)。これは、td.linenos pre
がスタイル設定されなくなったことを意味します。代わりにtd.linenos .normal
とtd.linenos .special
を使用してください。「インライン」スタイルでは、DOM要素の順序が変更されました。行番号が最初に追加され、次にハイライターで行がラップされます。これにより、行が完全に強調表示されない問題が修正されます。
インラインと非インラインの行番号と強調表示、およびクラスベースとインラインのスタイルの視覚的な出力は、現在一貫しています。
行番号のスタイルは、デフォルトで
background-color: transparent
とcolor: inherit
に設定されています。これは、行番号の色が設定されていない暗いスタイルでより効果的に機能します。
RawTokenLexerから「raw」エイリアスを削除し、エイリアスで選択できなくしました。
Python 3で動作し、例外を処理するようにRawTokenLexerを修正しました。
Solarizedテーマにプロンプトの色を追加 (#1529)
Imageフォーマッタは現在、背景色をサポートしています (#1374)
インライン行番号との組み合わせでアンカーをサポート (#1591)
pyupgrade
を使用してコードベースを最新化 (#1622)ECL
のanalyze_text
ロジックの改善 (#1610)CBM Basic V2
のanalyze_text
ロジックの改善 (#1607)
バージョン 2.7.4¶
(2021年1月12日リリース)
更新されたレクサー
SML字句解析器における無限ループを修正 (#1625), CVE-2021-20270
JavaScript/TypeScript、Modula2、および多くの他の字句解析器におけるバックトラッキング文字列正規表現を修正 (#1637) CVE-2021-27291
入れ子になったRuby heredocによる再帰を制限 (#1638)
字句解析器を推測するためのいくつかの非効率的な正規表現を修正
UnicodeのRawトークン字句解析器の処理を修正 (#1616)
HTMLフォーマッタにおけるプライベートAPIの変更を元に戻す (#1655) – プライベートAPIは変更される可能性があることにご注意ください!
Ben Caller/Doyensecによって発見されたいくつかの指数関数的/3乗の複雑さの正規表現を修正 (#1675)
誤ったMATLABの例を修正 (#1582)
これらのバグの多くを発見したGoogleのOSS-Fuzzプロジェクトに感謝します。
バージョン 2.7.3¶
(2020年12月6日リリース)
バージョン 2.7.2¶
(2020年10月24日リリース)
バージョン 2.7.1¶
(2020年9月16日リリース)
JSON字句解析器の回帰を修正 (#1544)
バージョン 2.7.0¶
(2020年9月12日リリース)
追加された字句解析器
更新されたレクサー
APL (#1503)
C++ (#1350、これにより以下も修正されました: #1222, #996, #906, #828, #1162, #1166, #1396)
Chapel (#1423)
CMake (#1491)
CSound (#1509)
Cython (#1507)
Dart (#1449)
Fennel (#1535)
Fortran (#1442)
GAS (#1530)
Inform 6 (#1461)
Javascript (#1533)
Lean (#1415)
Matlab (#1399)
NASM (#1465)
Nim (#1426)
PostgreSQL (#1513)
Protobuf (#1505)
Robot Framework (#1480)
SQL (#1402)
SystemVerilog (#1436, #1452, #1454, #1460, #1462, #1463, #1464, #1471, #1496, #1504)
TeraTerm (#1337)
XML (#1502)
数式記号用の新しいフィルタを追加しました (#1406)
Kconfig lexerがKconfig派生名を認識するようになりました (#1458)
HTMLフォーマッタの出力を改善しました (#1500)
.markdown
がMarkdownファイルの拡張子として認識されるようになりました (#1476)例外処理を改善しました (#1478)
バージョン 2.6.1¶
(2020年3月8日リリース)
このリリースでは、パッケージングの問題を修正しました。機能的な変更はありません。
バージョン 2.6¶
(2020年3月8日リリース)
Python 2.xでのPygmentsの実行はサポートされなくなりました。(Python 2 lexer自体は存在します。)
追加された字句解析器
更新されたレクサー
256色/トゥルーカラーターミナルフォーマッタがスタイルにおけるイタリック属性をサポートするようになりました (#1288)
HTTP 2/3ヘッダーをサポートしました (#1308)
HTTPヘッダーに欠けている理由をサポートしました (#1322)
Boogie/Silver: 行継続とトリガーをサポートし、契約キーワードを別のカテゴリに移動しました (#1299)
GAS: Cスタイルのコメントをサポートしました (#1291)
Adaの数値リテラルを修正しました (#1334)
.mjs
ファイルをJavascriptとして認識するようになりました (#1392).eex
ファイルをElixirとして認識するようになりました (#1387)re.MULTILINE
の使用を修正しました (#1388)pipenvとpoetryの依存関係とロックファイルを認識するようになりました (PR#1376)
Windowsでのフォント検索を改善しました (#1247)
使用されていないスクリプトブロックを削除しました (#1401)
バージョン 2.5.2¶
(2019年11月29日リリース)
一部のsetuptoolsバージョンとの非互換性を修正しました (PR#1316)
ReSTフィールドリストの字句解析を修正しました (PR#1279)
Matlabキーワードをフィールド名として字句解析する問題を修正しました (PR#1282)
Matlabの二重引用符で囲まれた文字列を認識するようになりました (PR#1278)
Vim lexerにおける遅いバックトラッキングを回避しました (PR#1312)
Scalaの型の強調表示を修正しました (PR#1315)
ReSTにおけるフィールドリストの強調表示の一貫性を改善しました (PR#1279)
フィールド名におけるMatlabキーワードの強調表示を修正しました (PR#1282)
Matlabの二重引用符で囲まれた文字列を認識するようになりました (PR#1278)
いくつかのTerraformキーワードを追加しました
Modelica lexerを3.4に更新しました
Crystalの例を更新しました
バージョン 2.5.1¶
(2019年11月26日リリース)
このリリースでは、パッケージングの問題を修正しました。機能的な変更はありません。
バージョン 2.5.0¶
(2019年11月26日リリース)
追加された字句解析器
更新されたレクサー
追加されたスタイル
Inkpot (PR#1276)
PythonLexer
クラスは、以前のPython3Lexer
のエイリアスになりました。古いPythonLexer
はPython2Lexer
として利用可能です。PythonTracebackLexer
についても同様の変更が行われました。PythonConsoleLexer
のpython3
オプションは、デフォルトでtrueになりました。.asm
ファイルに対してTasmLexer
よりもNasmLexer
の優先順位を上げました(#1326を修正)テストスイートをpy.testに移行し、noseの依存関係を削除しました (#1490)
TeraTerm
lexerのスコアを削減しました - ほとんどすべての言語にマッチしていました (#1256)Skylark
/Starlark
ファイルをPythonファイルとして扱うようになりました (PR#1259)Image formatter:
line_number_separator
オプションを正しく尊重するようになりましたwheelビルドにLICENSEファイルを追加しました
Agda: ラムダ式の強調表示を修正しました
Dart:
@
アノテーションをサポートしましたDockerfile:
FROM ... AS
構文の対応Emacs Lisp: 文字列関数の追加
GAS: 指令引数へのレジスタの対応
Java: 構造的な句読記号(中括弧、括弧、コロン、コンマ)を
Punctuation
として扱い、Operator
として扱わないように変更 (#987)Java: コンテキストキーワード
var
のサポート (#1101)Matlab:
function
キーワードの認識修正 (PR#1271)Python:
.jy
ファイル名の認識 (#976)Python:
f
文字列プレフィックスの認識 (#1156)Ruby: 波括弧付きheredocのサポート
シェルセッション: Virtualenvプロンプトの認識 (PR#1266)
Velocity: サイレント参照構文のサポート
バージョン 2.4.2¶
(2019年5月28日リリース)
encoding
オプションを指定してレクサーを推測する際のエンコーディングエラー修正 (#1438)
バージョン 2.4.1¶
(2019年5月24日リリース)
更新されたレクサー
Coq (#1430)
MSDOSセッション (PR#734)
NASM (#1517)
Objective-C (PR#813, #1508)
Prolog (#1511)
TypeScript (#1515)
スタイルシートにおけるCSS変数のサポート (PR#814, #1356)
F#レクサー名の修正 (PR#709)
TerminalFormatter
における明るいテキストに対するボールドの修正 (#1480)
バージョン 2.4.0¶
(2019年5月8日リリース)
追加された字句解析器
Augeas (PR#807)
BBC Basic (PR#806)
Boa (PR#756)
Charm++ CI (PR#788)
DASM16 (PR#807)
FloScript (PR#750)
FreeFem++ (PR#785)
Hspec (PR#790)
Pony (PR#627)
SGF (PR#780)
Slash (PR#807)
Slurm (PR#760)
Tera Term Language (PR#749)
TOML (PR#807)
Unicon (PR#731)
VBScript (PR#673)
更新されたレクサー
Apache2 (PR#766)
Cypher (PR#746)
LLVM (PR#792)
Makefiles (PR#766)
PHP (#1482)
Rust
SQL (PR#672)
Stan (PR#774)
Stata (PR#800)
Terraform (PR#787)
YAML
solarizedスタイルの追加 (PR#708)
Markdown参照スタイルリンクのサポート追加 (PR#753)
生成されたHTML/CSSファイルへのライセンス情報の追加 (#1496)
ANSIカラー名の変更 (PR#777)
bashレクサーにおけるカタストロフィックバックトラッキングの修正 (#1494)
Sphinx 2.0を使用したドキュメントビルド失敗の修正 (#1501)
LispおよびRレクサーのドキュメントにおけるリンクの修正 (PR#775)
Python 2.7におけるまれなUnicodeエラーの修正 (PR#798, #1492)
空のスタックからのレクサーのポップの修正 (#1506)
TypoScriptは現在
.typoscript
を使用 (#1498)Trove分類子と
pip
要件の更新 (PR#799)
バージョン 2.3.1¶
(2018年12月16日リリース)
更新されたレクサー
ASM (PR#784)
Chapel (PR#735)
Clean (PR#621)
CSound (PR#684)
Elm (PR#744)
Fortran (PR#747)
GLSL (PR#740)
Haskell (PR#745)
Hy (PR#754)
Igor Pro (PR#764)
PowerShell (PR#705)
Python (PR#720, #1299, PR#715)
SLexer (PR#680)
YAML (PR#762, PR#724)
無効な文字列エスケープシーケンスの修正
Python 3.7における正規表現の変更によって導入されたFutureWarningの修正
バージョン 2.3.0¶
(2018年11月25日リリース)
追加された字句解析器
Fennel (PR#783)
HLSL (PR#675)
更新されたレクサー
Dockerfile (PR#714)
Pythonの最小バージョンが2.7と3.5に変更
Python 3.7ジェネレーター変更のサポート追加 (PR#772)
SCSSにおけるシングルクォート文字列のトークンタイプの修正 (#1322)
TERMに256が含まれる場合、terminal256フォーマッタを使用 (PR#666)
MarkdownにおけるGitHubスタイルフェンスの処理の修正 (PR#741, #1389)
Python3文字列における%aの強調表示されない問題の修正 (PR#727)
バージョン 2.2.0¶
(2017年1月22日リリース)
追加された字句解析器
AMPL
TypoScript (#1173)
Varnish config (PR#554)
Clean (PR#503)
WDiff (PR#513)
Flatline (PR#551)
Silver (PR#537)
HSAIL (PR#518)
JSGF (PR#546)
NCARコマンド言語 (PR#536)
Extempore (PR#530)
Cap’n Proto (PR#595)
Whiley (PR#573)
Monte (PR#592)
Crystal (PR#576)
Snowball (PR#589)
CapDL (PR#579)
NuSMV (PR#564)
SAS, Stata (PR#593)
-xコマンドラインオプションとlexers.load_lexer_from_file()およびformatters.load_formatter_from_file()関数を使用して、レクサーとフォーマッタクラスをファイルから直接ロードする機能を追加しました。(PR#559)
lexers.find_lexer_class_by_name()を追加しました。(#1203)
PythonとPHPにおけるマジックメソッドと変数に対する新しいトークンタイプと字句解析を追加しました。
文字列接尾辞に対する新しいトークンタイプと、Python、C++、Postgresqlレクサーにおけるそれらの字句解析を追加しました。
heredoc(および同様の)文字列デリミタに対する新しいトークンタイプと、C++、Perl、PHP、Postgresql、Rubyレクサーにおけるそれらの字句解析を追加しました。
スタイルは、256色ターミナルフォーマッタで使用するためのANSIカラーを使用して色を定義できるようになりました。(PR#531)
CSSレクサーを改良しました。(#1083, #1130)
「Rainbow Dash」スタイルを追加しました。(PR#623)
インポートに時間がかかるpkg_resourcesの遅延読み込みを行いました。(PR#690)
バージョン 2.1.3¶
(2016年3月2日リリース)
Bashレクサーの回帰修正 (PR#563)
バージョン 2.1.2¶
(2016年2月29日リリース)
イメージフォーマッタにおけるPython 3の回帰修正 (#1215)
Bashレクサーの回帰修正 (PR#562)
バージョン 2.1.1¶
(2016年2月14日リリース)
Jython互換性の修正 (#1205)
先頭の空行を含むHTMLフォーマッタ出力の修正 (#1111)
LaTeXエンコーディングのマッピングテーブルを追加し、utf8を追加しました (#1152)
Macでのイメージフォーマッタフォント検索の修正 (#1188)
Tokenインスタンスのdeepcopyの修正 (#1168)
Julia文字列補間の修正 (#1170)
HttpLexerのget_tokens呼び出し間の状態性の修正
様々なレクサーへの多くの小さな修正
バージョン 2.1¶
(2016年1月17日リリース)
追加された字句解析器
Emacs Lisp (PR#431)
Arduino (PR#442)
複数方言をサポートするModula-2 (#1090)
Fortran固定形式 (PR#213)
Archetype Definition Language (PR#483)
Terraform (PR#432)
Jcl、Easytrieve (PR#208)
ParaSail (PR#381)
Boogie (PR#420)
Turtle (PR#425)
Fish Shell (PR#422)
Roboconf (PR#449)
Test Anything Protocol (PR#428)
Shen (PR#385)
Component Pascal (PR#437)
SuperCollider (PR#472)
シェルコンソール (Tcsh、PowerShell、MSDOS) (PR#479)
ElmとJ (PR#452)
Crmsh (PR#440)
Praat (PR#492)
CSound (PR#494)
Ezhil (PR#443)
Thrift (PR#469)
QVT Operational (PR#204)
Hexdump (PR#508)
CAmkES Configuration (PR#462)
追加されたスタイル
Lovelace (PR#456)
AlgolとAlgol-nu (#1090)
フォーマッタを追加
IRC (PR#458)
トゥルーカラー(24ビット)ターミナルANSIシーケンス (#1142) (フォーマッタエイリアス:「16m」)
HTMLフォーマッタの新しい「filename」オプション (PR#527)。
長い行に対するHTMLフォーマッタのパフォーマンス向上 (PR#504)。
autopygmentizeスクリプトの更新 (PR#445)。
HTML出力における非標準トークンタイプのスタイル継承の修正。
Python 3レクサーへのasync/awaitのサポートを追加。
TerminalFormatterのlinenosオプションを書き直しました(以前より優れていますが、出力はわずかに異なります)(#1147)。
JavascriptレクサーはES6の大部分をサポートするようになりました (#1100)。
iOS 8.1向けにCocoaビルトインを更新しました (PR#433)。
BashSessionLexerとShellSessionLexerを結合しました。新しいバージョンはどちらのプロンプトスタイルもサポートするはずです。
例外発生時に完全なトレースバックを表示するオプションをpygmentizeに追加しました。
WindowsとPython 3における不完全な出力の修正(例:iPython Notebookを使用する場合)(#1153)。
Pythonコンソールレクサーでより多くのトレースバックスタイルを許可しました (PR#253)。
TypeScriptへのデコレーターの追加 (PR#509)。
特定のIRCログ形式の強調表示の修正 (#1076)。
バージョン 2.0.2¶
(2015年1月20日リリース)
コンソールレクサーにおけるPythonトレースバックの重複の修正 (#1068)。
バッククォートで区切られた識別子がF#で認識されるようになりました (#1062)。
バージョン 2.0.1¶
(2014年11月10日リリース)
-o
オプション付きでpygmentize
を使用する場合のエンコーディング問題の修正。
バージョン 2.0¶
(2014年11月9日リリース)
デフォルトのレクサーエンコーディングは「guess」になりました。つまり、UTF-8/ロケール/Latin1がこの順序で試行されます。
Swiftレクサーの主要な更新 (PR#410)。
競合する場合のレクサー推測への複数の修正
DOCTYPEによるHTML5の認識
XML宣言によるXMLの認識
C/C++をSystemVerilogとして認識しない
正規表現とビルトインリストを簡素化しました。
バージョン 2.0rc1¶
(2014年10月16日リリース)
Python 2.4と2.5の互換性を削除しました。これは、Python 2.6、2.7、および3.3以降のシングルソース互換性を優先するためです。
Sphinxベースの新しいウェブサイトとドキュメント(ついに!)
レクサーを追加
APL (#969)
AgdaとLiterate Agda (PR#203)
Alloy (PR#355)
AmbientTalk
BlitzBasic (PR#197)
ChaiScript (PR#24)
Chapel (PR#256)
Cirru (PR#275)
Clay (PR#184)
ColdFusion CFC (PR#283)
CryptolとLiterate Cryptol (PR#344)
Cypher (PR#257)
Docker設定ファイル
EBNF (PR#193)
Eiffel (PR#273)
GAP (PR#311)
Golo (PR#309)
Handlebars (PR#186)
Hy (PR#238)
IdrisとLiterate Idris (PR#210)
Igor Pro (PR#172)
Inform 6/7 (PR#281)
Intel objdump (PR#279)
Isabelle (PR#386)
Jasmin (PR#349)
JSON-LD (PR#289)
Kal (PR#233)
Lean (PR#399)
LSL (PR#296)
Limbo (PR#291)
Liquid (#977)
MQL (PR#285)
MaskJS (PR#280)
Mozillaプリプロセッサ
Mathematica (PR#245)
NesC (PR#166)
Nit (PR#375)
Nix (PR#267)
Pan
Pawn (PR#211)
Perl 6 (PR#181)
Pig (PR#304)
Pike (PR#237)
QBasic (PR#182)
Red (PR#341)
ResourceBundle (#1038)
Rexx (PR#199)
Rql (PR#251)
Rsl
SPARQL (PR#78)
Slim (PR#366)
Swift (PR#371)
Swig (PR#168)
TADS 3 (PR#407)
Todo.txt タスクリスト
Twig (PR#404)
複数のリテラルワードのいずれかに一致する正規表現を「最適化」するためのヘルパーを追加しました。これにより、多くのキーワードまたはビルトインを強調表示するレクサーでは、字句解析時間が20%以上削減できます。
新しいスタイル:「xcode」と「igor」。それぞれのIDEのデフォルトの強調表示と同様です。
コマンドラインの「pygmentize」ツールは、ファイルとターミナルの正しいエンコーディングを検出するために、より努力するようになりました(#979)。
レクサーで「outencoding」と同様に「encoding」を上書きするための「inencoding」オプションを追加しました(#800)。
「-s」オプションを使用して、pygmentizeの行単位の「ストリーミング」モードを追加しました。(PR#165) 行をまたがる構成を持たないレクサーでのみ完全に機能します!
LaTeXフォーマッターに、「envname」オプションを追加して、代替のverbatim環境を選択できるようにしました(PR#235)。
Makefileレクサーを更新して、より役立つ強調表示を行いました。
get_lexer_by_name()
に渡されるレクサーエイリアスは大文字と小文字が区別されなくなりました。レクサーとフォーマッターのファイル名の一致は、速度向上のために正規表現キャッシュを使用するようになりました(PR#205)。
Pygmentsは、ファイルのコンテンツに基づいてレクサーを推測する際に、「vim」モデラインを認識するようになりました(PR#118)。
pygments.lexers
モジュール名前空間の大規模な再構成を行いました。モジュールあたりのレクサー数が少なくなるように、多くのモジュールが追加されました。古いモジュールはまだ存在し、以前含まれていたレクサーを再エクスポートします。NameHighlightFilterは、任意のName.*トークンタイプで動作するようになりました(#790)。
Python 3レクサー:PEP 3151からの新しい例外を追加しました。
Opaレクサー:新しいキーワードを追加しました(PR#170)。
Juliaレクサー:キーワードとアンダースコアで区切られた数値リテラルを追加しました(PR#176)。
Lassoレクサー:メソッドの強調表示を修正し、ビルトインを更新しました。プレーンなXMLが常にLassoとして認識されないように、推測を修正しました(PR#163)。
Objective C/C++レクサー:「@」を任意の式にプレフィックスとして付けることができます(#871)。
Rubyレクサー:Name::Spaceトークン(#860)とハッシュ内のシンボル(#873)の字句解析を修正しました。
Stanレクサー:言語のバージョン2.4.0に合わせて更新しました(PR#162、PR#255、PR#377)。
JavaScriptレクサー:「yield」キーワードを追加しました(PR#196)。
HTTPレクサー:PATCHメソッドのサポートを追加しました(PR#190)。
Kokaレクサー:最新の言語仕様に更新しました(PR#201)。
Haxeレクサー:書き直し、Haxe 3のサポートを追加しました(PR#174)。
Prologレクサー:さまざまな種類の数値リテラルを追加しました(#864)。
F#レクサー:F# 3.0の最新の仕様で書き直し(#842)、ドット付きチェーンのバグを修正しました(#948)。
Kotlinレクサー:全般的な更新を行いました(PR#271)。
Rebolレクサー:コメント検出とanalyse_textを修正しました(PR#261)。
LLVMレクサー:キーワードをv3.4に更新しました(PR#258)。
PHPレクサー:新しいキーワードとバイナリリテラルを追加しました(PR#222)。
external/markdown-processor.pyを最新のpython-markdownに更新しました(PR#221)。
CSSレクサー:強調表示の順序を修正しました(PR#231)。
Ceylonレクサー:ネストされた複数行コメントの解析を修正しました(#915)。
Cファミリーレクサー:インデントされたプリプロセッサディレクティブの解析を修正しました(#944)。
Rustレクサー:言語バージョン0.9に更新しました(PR#270、PR#388)。
Elixirレクサー:言語バージョン0.15に更新しました(PR#392)。
Pythonコンソールレクサーでの不完全なトレースバックの取り込みを修正しました(#874)。
バージョン1.6¶
(2013年2月3日リリース)
レクサーを追加
Dylanコンソール (PR#149)
Logos (PR#150)
シェルセッション (PR#158)
推測されたレクサーがレクサーオプションを受け取らない問題を修正しました(#838)。
Opaでの引用されていないHTML属性の字句解析を修正しました(#841)。
Dartレクサーの修正を行いました(PR#160)。
バージョン1.6rc1¶
(2013年1月9日リリース)
レクサーを追加
AspectJ (PR#90)
AutoIt (PR#122)
BUGSのような言語 (PR#89)
Ceylon (PR#86)
Croc(MiniDの新しい名前)
CUDA (PR#75)
Dg (PR#116)
IDL (PR#115)
Jags (PR#89)
Julia (PR#61)
Kconfig (#711)
Lasso (PR#95、PR#113)
LiveScript (PR#84)
Monkey (PR#117)
Mscgen (PR#80)
NSISスクリプト (PR#136)
OpenCOBOL (PR#72)
QML (PR#123)
Puppet (PR#133)
Racket (PR#94)
Rdoc (PR#99)
Robot Framework (PR#137)
RPMスペックファイル (PR#124)
Rust (PR#67)
Smali(Dalvikアセンブリ)
SourcePawn (PR#39)
Stan (PR#89)
Treetop (PR#125)
TypeScript (PR#114)
VGL (PR#12)
Visual FoxPro (#762)
Windowsレジストリ (#819)
Xtend (PR#68)
HTMLフォーマッターは、python-ctagsパッケージがインストールされている場合、CTagsファイルを使用してタグへのリンクをサポートするようになりました(PR#87)。
HTMLフォーマッターに、「linespans」オプションが追加されました。このオプションを使用すると、各行を特定のIDを持つ<span>タグでラップできます(PR#82)。
トークン定義を使用して別のレクサーからレクサーを派生させる場合、子レクサーにない状態の定義は継承されるようになりました。子レクサーで状態をオーバーライドする場合は、「inherit」キーワードを使用して、その位置に基本状態を挿入できるようになりました(PR#141)。
Cファミリーレクサーは、共通の基底クラスからトークン定義を継承するようになり、コードの重複がなくなりました(PR#141)。
Windowsでは、コンソールカラー出力に「colorama」を使用するようになりました(PR#142)。
Template Haskellの強調表示を修正しました(PR#63)。
いくつかのS/Rレクサーのエラーを修正しました(PR#91)。
「is」で始まる名前に関するPrologレクサーのバグを修正しました(#810)。
Dylanレクサーを書き直し、Dylan LIDレクサーを追加しました(PR#147)。
Javaクイックスタートドキュメントを追加しました(PR#146)。
.lessfilterとして使用できる「external/autopygmentize」ファイルを追加しました(#802)。
バージョン1.5¶
(コードネームZeitdilatation、2012年3月10日リリース)
レクサーを追加
Awk (#630)
Fancy (#633)
PyPyログ
eC
Nimrod
Nemerle (#667)
F# (#353)
Groovy (#501)
PostgreSQL (#660)
DTD
Gosu (#634)
Octave (PR#22)
Standard ML (PR#14)
CFengine3 (#601)
Opa (PR#37)
HTTPセッション (PR#42)
JSON (PR#31)
SNOBOL (PR#30)
MoonScript (PR#43)
ECL (PR#29)
Urbiscript (PR#17)
OpenEdge ABL (PR#27)
SystemVerilog (PR#35)
Coq (#734)
PowerShell (#654)
Dart (#715)
Fantom (PR#36)
Bro (PR#5)
NewLISP (PR#26)
VHDL (PR#45)
Scilab (#740)
Elixir (PR#57)
Tea (PR#56)
Kotlin (PR#58)
Python 3のターミナル強調表示をpygmentizeで修正しました(#691)。
LaTeXフォーマッターで、特殊文字&、<、>をエスケープしました(#648)。
LaTeXフォーマッターで、トークン背景色を持つスタイルの表示の問題を修正しました(#670)。
Squid confレクサーの機能強化を行いました(#664)。
reStructuredTextレクサーにいくつかの修正を行いました(#636)。
ObjCレクサーでメソッドを認識するようになりました(#638)。
Luaの「class」強調表示を修正しました。Luaにはクラスがありません(#665)。
Scalaレクサーの縮退した正規表現と強調表示のバグを修正しました(#671、708、713)。
Ocamlレクサーの数のパターンの順序を修正しました(#647)。
ActionScript 3のジェネリック型の強調表示を修正しました(#666)。
Clojureレクサーの修正を行いました(PR#9)。
Nemerleレクサーの縮退した正規表現を修正しました(#706)。
CoffeeScriptレクサーの無限ループを修正しました(#729)。
ObjectiveCレクサーでのクラッシュと解析を修正しました(#693、#696)。
Fortran 2003のキーワードを追加しました。
Booの文字列正規表現を修正しました(#679)。
「rrt」スタイルを追加しました(#727)。
Darcs Patchレクサーの無限ループを修正しました。
多くの異なるレクサーにおける文字の取り込みのバグと順序の問題に関する多くの細かい修正を行いました。
バージョン1.4¶
(コードネームUnschärfe、2011年1月3日リリース)
レクサーを追加
Factor (#520)
PostScript (#486)
Verilog (#491)
BlitzMax Basic (#478)
Ioke (#465)
Javaプロパティ(INIレクサーから分割)(#445)
Scss (#509)
Duel/JBST
XQuery (#617)
Mason (#615)
GoodData (#609)
SSP (#473)
Autohotkey (#417)
Google Protocol Buffers
Hybris (#506)
analyse_textメソッドで失敗しないようにしました(#618)。
HTMLフォーマッターのパフォーマンスを向上させました(#523)。
HTMLフォーマッターの
noclasses
オプションを使用する場合、スタイルシートに存在する一部のスタイルがインラインスタイルとして追加されませんでした。Luaレクサーのバグを4つ修正しました(#480、#481、#482、#497)。
より多くのi18n翻訳をサポートする、よりコンテキスト依存性の高いGherkinレクサー。
Matlabレクサーで新しいOOキーワードをサポートしました(#521)。
CoffeeScriptレクサーの小さな修正を行いました(#519)。
ocaml文字列のバックスラッシュのバグを修正しました(#499)。
PythonレクサーのUnicode/raw docstringを修正しました(#489)。
PIL.pthなしでPILが動作するようにしました(#502)。
CSSで秒を単位としてサポートしました(#496)。
application/javascript
をJavaScript MIMEタイプとしてサポートしました(#504)。Offload C++拡張機能をC++レクサーのキーワードとしてサポートしました(#484)。
LaTeX出力でより多くの文字をエスケープしました(#505)。
Haml/Sassレクサーをバージョン3に更新しました(#509)。
小さなPHPレクサー文字列エスケープの修正を行いました(#515)。
プリプロセッサディレクティブの前にコメントをサポートし、C/C++で符号なし/long longリテラルをサポートしました(#613、#616)。
INIレクサーで行継続をサポートしました(#494)。
Dylan文字列と文字リテラルの字句解析を修正しました(#628)。
VB.NETレクサーのクラス/プロシージャ名の強調表示を修正しました(#624)。
バージョン1.3.1¶
(バグ修正リリース、2010年3月5日リリース)
pygmentize
スクリプトが配布物に含まれていませんでした。
バージョン1.3¶
(コードネームSchneeglöckchen、2010年3月1日リリース)
ensurenl
レクサーオプションを追加しました。これは、レクサー入力への改行の自動追加を抑制するために使用できます。レクサーを追加
Ada
Coldfusion
Modula-2
Haxe
Rコンソール
Objective-J
HamlとSass
CoffeeScript
reStructuredTextの強調表示を強化しました。
PHPレクサーでPHP 5.3名前空間のサポートを追加しました。
external/ディレクトリにpygmentizeのバッシュ補完スクリプトを追加しました(#466)。
複数レクサー言語で使用されるdo_insertions()のバグを修正しました。
Rubyの正規表現強調表示のバグを修正しました(#476)。
Perl字句解析器における正規表現の強調表示のバグを修正しました(#258)。
C字句解析器(#467)とBash字句解析器(#469)に小さな機能強化を追加しました。
Tcl、Debian制御ファイル、Nginx設定ファイル、Smalltalk、Objective-C、Clojure、Lua字句解析器に小さな修正を行いました。
Gherkin字句解析器:単一アポストロフィのバグを修正し、新しいi18nキーワードを追加しました。
バージョン1.2.2¶
(バグ修正リリース、2010年1月2日リリース)
LaTeXフォーマッタにおける後方互換性を削除しました。これにより、SphinxがLaTeX出力を作成する際に無効なコマンドが生成される問題が修正されました(#463)。
BashLexerにおける無限後退正規表現を修正しました(#462)。
バージョン1.2.1¶
(バグ修正リリース、2010年1月2日リリース)
Pythonコンソールトレースバックにおけるフレームの代わりに省略記号を誤って処理することにより、出力が破壊される問題を修正しました。
バージョン1.2¶
(コードネームNeujahr、2010年1月1日リリース)
Python 2.3との互換性を削除しました。
レクサーを追加
Asymptote
Go
Gherkin (Cucumber)
CMake
Ooc
Coldfusion
Haxe
Rコンソール
LaTeXフォーマッタに、ソースコードコメント内のLaTeXをレンダリングするためのオプションを追加しました(#461)。
Logtalk字句解析器を更新しました。
イメージフォーマッタに`line_number_start`オプションを追加しました(#456)。
イメージフォーマッタに`hl_lines`と`hl_color`オプションを追加しました(#457)。
HtmlFormatterの`noclasses=True`の処理を修正し、クラスを出力しないようにしました(#427)。
Monokaiスタイルを追加しました(#453)。
LLVM字句解析器の識別子構文を修正し、新しいキーワードを追加しました(#442)。
PythonTracebackLexerを修正し、ヘッダーまたはトレーラー内のトレースバック以外のデータを処理できるようにし、2行目から始まるより多くの部分的なトレースバックをサポートするようにしました(#437)。
CLexerを修正し、三項演算子をラベルとして強調表示しないようにしました。
いくつかのRubyの引用符の特殊性を字句解析する際の修正を行いました(#460)。
いくつかのASM字句解析器の修正を行いました(#450)。
バージョン1.1.1¶
(バグ修正リリース、2009年9月15日リリース)
BBCode字句解析器を修正しました(#435)。
新しいJinja2キーワードのサポートを追加しました。
テストスイートの失敗を修正しました。
Bash字句解析器にGentoo固有のサフィックスを追加しました。
バージョン1.1¶
(コードネームBrillouin、2009年9月11日リリース)
PygmentsをPython 3に移植しました。エンコーディングの処理方法にいくつかの変更が必要でした。Python 2で使用する場合にも、特殊なケースに影響を与える可能性があります。
レクサーを追加
Antlr/Ragel(Ana Nelsonによる貢献)
(Ba)shシェル
Erlangシェル
GLSL
Prolog
Evoque
Modelica
Rebol
MXML
Cython
ABAP
ASP.net (VB/C#)
Vala
Newspeak
LaTeXフォーマッタの出力を修正し、あるスタイルで生成された出力が別のスタイルのスタイル定義で使用できるようにしました(#384)。
HTMLフォーマッタに「anchorlinenos」と「noclobber_cssfile」(#396)オプションを追加しました。
Lua字句解析器で複数行文字列をサポートしました。
Pumbaa80によるJavaScript字句解析器の書き直しにより、正規表現リテラルのサポートが改善されました(#403)。
pygmentizeが複数の字句解析器がファイル名と一致するファイルを強調表示するように要求された場合、`analyse_text`推測エンジンを使用して最適な字句解析器を決定します(#355)。
JavaScript字句解析器(#383)、Matlab字句解析器(#378)、Scala字句解析器(#392)、INI字句解析器(#391)、Clojure字句解析器(#387)、AS3字句解析器(#389)の軽微なバグを修正しました。
3つのPerl heredoc字句解析のバグを修正しました(#379、#400、#422)。
行を誤検出するイメージフォーマッタのバグを修正しました(#380)。
拡張Ruby文字列と正規表現の字句解析のバグを修正しました。
git diffの字句解析のバグを修正しました。
PHP字句解析器で空のコミットを字句解析する際に発生するバグを修正しました(#405)。
Pythonの数値が浮動小数点数として誤って強調表示されるバグを修正しました(#397)。
Pythonでバックスラッシュが奇数個所に使用されている場合のバグを修正しました(#395)。
Winston Chang(#410、#411、#413、#414)とfmarc(#419)の貢献により、MatlabとS-Plus字句解析器の様々なバグを修正しました。
Haskellの単一行コメント検出のバグを修正しました(#426)。
docutils 0.5+用の新しいスタイルのreStructuredTextディレクティブを追加しました(#428)。
バージョン1.0¶
(コードネームDreiundzwanzig、2008年11月23日リリース)
`stripnl`字句解析器オプションがFalseの場合、末尾のすべての改行文字が保持されないため、改行文字を`
\n
`に変換する際に`join(splitlines())`を使用しないようにしました。与えられたファイル名に対する字句解析器名を取得するための`-N`オプションをコマンドラインインターフェースに追加しました。
CrunchyプロジェクトのためにAndre Robergeが作成したTangoスタイルを追加しました。
Python3TracebackLexerと`python3`オプションをPythonConsoleLexerに追加しました。
Haskell字句解析器のいくつかのバグを修正しました。
PythonTracebackLexerを修正し、SyntaxErrorとKeyboardInterruptを認識できるようにしました(#360)。
イメージフォーマットごとに1つのフォーマッタクラスを提供することにより、
pygmentize -f gif -o foo.gif foo.py
PNGファイルの作成などの予期せぬ事態を回避しました。
イメージフォーマッタの`font_size`オプションを実際に使用しました。
numpy字句解析器を修正し、`*.py`を監視しなくなりました。
HTMLフォーマッタを修正し、テキストオプションがUnicode文字列になるようにしました(#371)。
Unified Diff字句解析器で「udiff」エイリアスをサポートするようになりました。
Scala字句解析器のいくつかの問題を修正しました(#367)。
RubyConsoleLexerでシンプルなプロンプトモードをサポートするようになりました(#363)。
JavascriptLexerは、正規表現を構成するものの認識がよりスマートになりました(#356)。
Andreas Amannの貢献により、Applescript字句解析器を追加しました(#330)。
コードタグをより厳密に一致する単語に制限しました(#368)。
NginxConfLexerは、mimetypesと変数についてより正確になりました(#370)。
バージョン0.11.1¶
(2008年8月24日リリース)
pygments.unistringのJython互換性の問題を修正しました(#358)。
バージョン0.11¶
(コードネームStraußenei、2008年8月23日リリース)
多くのバグ修正と新機能の記述または統合に貢献してくれたTim Hatchに感謝します。
レクサーを追加
Nasmスタイルのアセンブリ言語(delrothによる貢献)
YAML(Kirill Simonovによる貢献)
ActionScript 3(Pierre Bourdonによる貢献)
Cheetah/Spitfireテンプレート(Matt Goodによる貢献)
Lighttpd設定ファイル
Nginx設定ファイル
Gnuplotプロットスクリプト
Clojure
POV-Rayシーンファイル
Sqlite3インタラクティブコンソールセッション
Scalaソースファイル(Krzysiek Gojによる貢献)
字句解析器の改善
C字句解析器は、標準ライブラリ関数を強調表示するようになり、C99型をサポートするようになりました。
Bash字句解析器は、先行空白のないheredocを正しく強調表示するようになりました。
Vim字句解析器は、16進数の色を正しく強調表示し、いくつかのキーワードを認識するようになりました。
Ircログ字句解析器は、xchatのデフォルトの時間形式(#340)を処理するようになり、`
>
`で終わる行を正しく強調表示するようになりました。Perl正規表現の区切り文字をさらにサポートしました(#258)。
ObjectiveC字句解析器は、2.0の機能をサポートするようになりました。
「Visual Studio」スタイルを追加しました。
MarkdownプロセッサをMarkdown 1.7に更新しました。
roman/sans/monoスタイルの定義をサポートし、LaTeXフォーマッタで使用しました。
RawTokenFormatterは、`*.raw`に登録されなくなり、この字句解析器を使用したトークン化によって例外が発生する可能性があることが文書化されました。
HTMLフォーマッタに新しいオプション`
hl_lines
`を追加し、特定の行を強調表示できるようにしました。HTMLフォーマッタに新しいオプション`
prestyles
`を追加しました。pygmentizeに新しいオプション`-g`を追加し、ファイルテキストに基づいて字句解析器を推測できるようにしました(低速になる可能性があるため、ファイル拡張子は最初にチェックされます)。
`guess_lexer()`は、データがXML様式かどうかをキャッシュするようになったため、決定がはるかに高速になりました(`analyse_text()`のいくつかのバージョンで使用されるチェック)。いくつかの字句解析器では、`analyse_text()`もより正確になりました。
バージョン0.10¶
(コードネームMalzeug、2008年5月6日リリース)
レクサーを追加
Io
Smalltalk
Darcsパッチ
Tcl
Matlab
Matlabセッション
FORTRAN
XSLT
tcsh
NumPy
Python 3
S、S-plus、R統計言語
Logtalk
LatexFormatterでは、`commandprefix`オプションは、後者が他のパッケージとの衝突を引き起こしたため、デフォルトで「PY」になりました。「C」ではなく。また、`get_style_defs()`の`arg`引数の特別な意味は削除されました。
イメージをPNG、JPG、GIF、またはBMPとしてフォーマットするImageFormatterを追加しました。(Python Imaging Libraryが必要です。)
PHP字句解析器でdocコメントをサポートしました。
Perl字句解析器でフォーマット仕様を処理しました。
Batch字句解析器のコメント処理を修正しました。
C++、INI、XML字句解析器にファイル名拡張子をさらに追加しました。
IRCとMuPad字句解析器の修正を行いました。
Java字句解析器における関数とインターフェース名の強調表示を修正しました。
CSS字句解析器における@ルール処理を修正しました。
pygmentizeでKeyboardInterruptを適切に処理しました。
BlackWhiteStyleを追加しました。
Bash字句解析器は、数学を正しく強調表示するようになり、セミコロンの後に空白を必要としなくなり、ブール演算子を正しく強調表示するようになりました。
Makefile字句解析器は、BSDとGNU make構文を処理できるようになりました。
バージョン0.9¶
(コードネームHerbstzeitlose、2007年10月14日リリース)
レクサーを追加
Erlang
ActionScript
Literate Haskell
Common Lisp
様々なアセンブリ言語
Gettextカタログ
Squid設定
Debian制御ファイル
MySQLスタイルのSQL
MOOCode
字句解析器の改善
HaskellとOCaml字句解析器を大幅に改善しました。
Bash字句解析器のネストされた構造の処理を改善しました。
C#とJava字句解析器は、一部の入力コードでパフォーマンスが非常に悪かったのですが、これが修正されました。
IRCログ字句解析器は、weeチャットログも色付けできるようになりました。
Lua字句解析器は、複数行コメントを認識するようになりました。
DとMiniD字句解析器のバグを修正しました。
コマンドラインモード(pygmentize)のエンコーディング処理が強化されました。エンコーディングオプションを指定しない限り、UnicodeErrorは発生しなくなりました。
値にコンマまたは等号が含まれるオプションを指定するために使用できる`-P`オプションをコマンドラインモードに追加しました。
256色のターミナルフォーマッタを追加しました。
実験的なSVGフォーマッタを追加しました。
Ian Charnasのアイデアに基づいて、HTMLフォーマッタに`
lineanchors
`オプションを追加しました。HTMLフォーマッタで行番号テーブルにCSSクラスを追加しました。
Vim 7のようなスタイルを追加しました。
バージョン0.8.1¶
(2007年6月27日リリース)
Ruby字句解析器のPOD強調表示を修正しました。
C#字句解析器のUnicodeクラスと名前空間名の強調表示を修正しました。
Python字句解析器のUnicode文字列プレフィックスの強調表示を修正しました。
DとMiniD字句解析器のバグを修正しました。
含まれているMoinMoinパーサーを修正しました。
バージョン0.8¶
(コードネームMaikäfer、2007年5月30日リリース)
レクサーを追加
Haskell(Adam Blinkinsopによる貢献)
Redcode(Adam Blinkinsopによる貢献)
D(Kirk McDonaldによる貢献)
MuPad(クリストファー・クルーツィグ氏による提供)
MiniD(ジャレット・ビリングズリー氏による提供)
Vim Script(ティム・ハッチ氏による提供)
HTMLフォーマッタに、行番号をコードと同じ`
<pre>
タグ内に統合する2つ目の行番号モードが追加されました。`CSharpLexer`はUnicodeに対応しました。つまり、C#仕様で認められているUnicode識別子を正しく字句解析するためのオプションが設定できるようになりました。
字句解析器がエラートークンを生成した際に例外を発生させる`RaiseOnErrorTokenFilter`と、空白文字(スペース、タブ、改行)を可視文字に変換する`VisibleWhitespaceFilter`を追加しました。
正しいインデックスを返すように`do_insertions()`ヘルパー関数を修正しました。
ReST字句解析器は、 " .. sourcecode:: language" および " .. code:: language" ディレクティブブロック内のソースコードブロックを自動的にハイライト表示するようになりました。
デフォルトスタイルが改善されました(ティベリウス・テング氏による貢献)。以前のデフォルトスタイルは「emacs」スタイルとして引き続き利用可能です(以前はエイリアスでした)。
HTMLフォーマッタの`get_style_defs`メソッドは、`cssclass`オプションが指定されている場合、それをデフォルトセレクタとして使用します。
ReSTとBashの字句解析器を若干改良しました。
MakefileとBashの字句解析器のいくつかのバグを修正しました(ティム・ハッチ氏による貢献)。
`-S`オプションを使用する場合に`-O`オプションが許可されなかったコマンドラインコードのバグを修正しました。
`RawTokenFormatter`のバグを修正しました。
バージョン 0.7.1¶
(2007年2月15日リリース)
Python、Java、Scheme、Apache Configの字句解析器における小さなハイライトのバグを修正しました。
付属のマニュアルページを更新しました。
ソースターボールにドキュメントのビルド済みバージョンを含めました。
バージョン 0.7¶
(コードネーム Faschingskrapfn, 2007年2月14日リリース)
Pygmentsを使用するMoinMoinパーサーを追加しました。これにより、Moin WikiページでPygmentsによるハイライト表示が可能になります。
適切な字句解析器、フォーマッタなどが`get_*_by_*`関数で見つからない場合に発生する例外を、カスタム例外`pygments.util.ClassNotFound`に変更しました。ただし、後方互換性を維持するために`ValueError`のサブクラスです。
字句解析器、フォーマッタ、フィルタのdocstringを取得するために使用できる`-H`コマンドラインオプションを追加しました。
字句解析器とフォーマッタの処理を一貫性のあるものにしました。フォーマッタのエイリアスとファイル名パターンは、今ではそれらの属性です。
Adam Blinkinsop氏による貢献により、OCaml字句解析器を追加しました。
HTMLフォーマッタの柔軟性を高め、サブクラス化を容易にしました。これにより、カスタムラッパー(例:代替行番号マークアップ)を簡単に実装できます。ドキュメントを参照してください。
すべてのフォーマッタに`outencoding`オプションを追加しました。これにより、コマンドラインインターフェースを使用する際に`encoding`(字句解析器とフォーマッタで使用されます)を上書きすることが可能になります。また、ターミナルフォーマッタを使用していて出力ファイルがターミナルであり、エンコーディング属性を持っている場合は、エンコーディングが指定されていない場合にそれを利用します。
Pygmentsインストールの`styles`サブパッケージにスタイルモジュールを直接配置できるようになりました。
`using`ヘルパーに「state」キーワード引数を追加しました。
`LatexFormatter`に`commandprefix`オプションを追加しました。これにより、コマンド名の構築方法を制御できます。
ティム・ハッチ氏による貢献により、多くの新しい字句解析器を追加しました。
Java Server Pages
Windowsバッチファイル
Trac Wikiマークアップ
Pythonトレースバック
ReStructuredText
Dylan
そして、難解プログラミング言語Befunge(やった!)
Ben Bangert氏によるMako字句解析器を追加しました。
元々はvimベースのテーマである、もう一つのダークバックグラウンド「fruity」スタイルを追加しました。
Dennis Kaarsemaker氏によるsources.list字句解析器を追加しました。
トークンストリームフィルタと、それらを使用するためのpygmentizeオプションを追加しました。
トークンの`in`演算子の動作を変更しました。
すべての字句解析器のmimetypesを追加しました。
Python文字列の字句解析におけるいくつかの問題を修正しました。
チケットを修正しました:#167、#178、#179、#180、#185、#201。
バージョン 0.6¶
(コードネーム Zimtstern, 2006年12月20日リリース)
HTMLフォーマッタに、「フルドキュメント」モードでCSSを外部ファイルに書き込むためのオプションを追加しました。
RTFフォーマッタを追加しました。
BashとApache設定の字句解析器を追加しました(ティム・ハッチ氏による貢献)。
さまざまな字句解析器の推測方法を改善しました。
CSS字句解析器に`@media`サポートを追加しました(ティム・ハッチ氏による貢献)。
Groff字句解析器を追加しました(ティム・ハッチ氏による貢献)。
ライセンスをBSDに変更しました。
Myghtyテンプレート言語用の字句解析器を追加しました。
Scheme字句解析器を追加しました(Marek Kubica氏による貢献)。
既存の字句解析器、フォーマッタ、フィルタを反復処理するためのいくつかの関数を追加しました。
HtmlFormatterの`get_style_defs()`は、複数のプレフィックスを持つCSSを生成するために、引数としてリストを受け取れるようになりました。
入力エンコーディングの推測サポートを追加しました。
エンコーディングサポートを追加しました。すべての処理はUnicode文字列で行われ、入力と出力はバイト文字列との間で変換されます(字句解析器とフォーマッタの`
encoding
オプションを参照)。C(++)字句解析器におけるコメントと行継続の処理を改善しました。
バージョン 0.5.1¶
(2006年10月30日リリース)
`pygmentize -L`でのトレースバックを修正しました(Piotr Ozarowski氏による貢献)。
バージョン 0.5¶
(コードネーム PyKleur, 2006年10月30日リリース)
初回公開リリース。