Releases: pygments/pygments
2.19.1
2.19.0
-
New lexers:
-
Updated lexers:
- BQN: Various improvements (#2789)
- C#: Fix number highlighting (#986, #2727), add
file
keyword (#2726, #2805, #2806), add various other keywords (#2745, #2770) - CSS: Add
revert
(#2766, #2775) - Debian control: Add
Change-By
field (#2757) - Elip: Improve punctuation handling (#2651)
- Igor: Add
int
(#2801) - Ini: Fix quoted strings with embedded comment characters (#2767, #2720)
- Java: Support functions returning types containing a question mark (#2737)
- JavaScript: Support private identiiers (#2729, #2671)
- LLVM: Add
splat
, improve floating-point number parsing (#2755) - Lua: Improve variable detection, add built-in functions (#2829)
- Macaulay2: Update to 1.24.11 (#2800)
- PostgreSQL: Add more
EXPLAIN
keywords (#2785), handle/
(#2774) - S-Lexer: Fix keywords (#2082, #2750)
- TransactSQL: Fix single-line comments (#2717)
- Turtle: Fix triple quoted strings (#2744, #2758)
- Typst: Various improvements (#2724)
- Various: Add
^
as an operator to Matlab, Octave and Scilab (#2798) - Vyper: Add
staticcall
andextcall
(#2719)
- Mark file extensions for
HTML/XML+Evoque
as aliases (#2743) - Add a color for
Operator.Word
to therrt
style (#2709) - Fix broken link in the documentation (#2803, #2804)
- Drop executable bit where not needed (#2781)
- Reduce Mojo priority relative to Python in ``analyze_text´` (#2771, #2772)
- Fix documentation builds (#2712)
- Match example file names to the lexer's name (#2713, #2715)
- Ensure lexer metadata is present (#2714)
- Search more directories on macOS for fonts (#2809)
- Improve test robustness (#2812)
2.18.0
-
New lexers:
-
Updated lexers:
- Awk: recognize ternary operator (#2687)
- Bash: add
openrc
alias (#2599, #2371) - Coq: add keywords, lex more vernacular command arguments, produce
fewer tokens on heading comments (#2678) - DNS zone files: Fix comment parsing (#2595)
- Hy: Support unicode literals (#1126)
- Inform6: Update to Inform 6.42 (#2644)
- lean: Fix name handling (#2614)
- Logtalk: add
uninstantiation
keyword and recognize
escape sequences (#2619) - Macaulay2: Update to 1.23 (#2655)
- Python: fix highlighting of soft keywords before
None
/True
/False
- reStructuredText: use
Token.Comment
for comments instead of
Comment.Preproc
(#2598) - Rust: highlight
:
,::
and->
asPunctuation
and whitespace asWhitespace
, instead ofText
in both cases (#2631) - Spice: Add keywords (#2621)
- SQL Explain: allow negative numbers (#2610)
- Swift: Support multiline strings (#2681)
- ThingsDB: add constants and new functions; support template
strings (#2624) - UL4: support nested
<?doc?>
and<?note?>
tags (#2597) - VHDL: support multi-line comments of VHDL-2008 (#2622)
- Wikitext: Remove
kk-*
invariant_langs
(#2647) - Xtend: Add
val
andvar
(#2602)
-
New styles:
- Coffee (#2609)
-
Make background colors in the image formatter work with Pillow 10.0 (#2623)
-
Require Python 3.8. As a result, the
importlib-metadata
package
is no longer needed for fast plugin discovery on Python 3.7.
Theplugins
extra (used as, e.g.,pip install pygments[plugins]
)
is kept for backwards compatibility but now has no effect. (#2601) -
Require the
url
attribute for lexers inside Pygments, add
it to many lexers (#2588) -
Replace Pyflakes linter with Ruff (#2592)
-
Add macOS CI (#2594)
-
Built-in lexers now declare the version of Pygments in which they were
added in a requiredversion_added
lexer attribute, instead of a
.. versionadded::
directive in the docstring (#2589, #2634) -
The
url
attribute is now required for built-in lexers and
has been added to all existing lexers (#2588) -
The RTF formatter supports line number and line highlighting now (#1217, #2654)
-
Register
pycon
as an alias for the Python console lexer (#2697) -
Add MIME-Type for
DesktopLexer
(#2613) -
Fix native style to meet WCAG AA guidelines (#2600)
-
Fix typo in documentation (#2672)
-
Use format strings consistently (#2661)
-
Add
__class_getitem__
toFormatter
to improve typing support (#2665)
2.17.2
2.17.1
2.17.0
-
New lexers:
-
Updated lexers:
- Cypher: fix comment matching, add missing keywords (#2504)
- Fortran: add
elseif
keyword (#2528) - Lean: make it available as
lean3
, in preparation for a possible switch tolean
highlighting as Lean 4 (#2546) - JSON: add MIME types and file extensions for several line-delimited JSON formats (#2490)
- Nix: many improvements (#2551, #1800)
- OCaml: Add
and
keyword, removevalue
from keywords (#2521) - Python: add
starlark
andbazel
aliases (#2517, #2516) - Snowball: Treat
len
likesize
(#2508) - Spice: add
panic
keyword and->
operator (#2510) - squid.conf: fix catastrophic backtracking (#2583)
- TOML: rewritten, with many fixes (#2576)
- Turtle: support blank nodes (#2581)
- Wikitext: fix erroneous highlighting of LanguageConverter markup
(#2493), add missing variant languages (#2494) - CMake: support
[=[ bracketed arguments ]=]
(#2549)
-
Fix ctags support and tests (#2487)
-
Include
Lexer.add_filter
in the documentation (#2519) -
Add a
Lean3Lexer
alias (#2546) -
The
pygments.styles
module contains a newSTYLES
variable with a dictionary of built-in styles. The oldSTYLE_MAP
variable, which uses a different format, is kept for backwards compatibility. -
On Windows, add a new installation extra (
windows-terminal
) which pulls in dependencies for colored console output. See :doc:cmdline
for more details. (#2505) -
Support more file types in
autopygmentize
script (#2513) -
Change color of numbers in
rrt
style (#2526) -
Fix error when trying to look up plugin formatters by file extension of the output format (#2563)
-
Use Hatchling as a build backend instead of setuptools.
This change is transparent to most users. Distribution packagers who build without build isolation need to add hatchling as a build
dependency and remove setuptools. People downloading source distributions and wheels from PyPI directly should note that they now havepygments
in their file names instead ofPygments
. (#2573) -
Improve the test framework to also check for lost tokens when processing the snippets and example files (#2582.)
-
Improve the Dracula style definition to make it easier to maintain (#2575)
2.16.1
2.16.0
-
New lexers:
- ASN.1 (#2462)
- Blueprint (#2434)
- BQN (#2472)
- DNS zone files (#2464)
- GraphQL (#2428)
- Linux desktop files (following the specification of the Freedesktop group, formerly known as XDG) (#2470)
- NVIDIA PTX (#2432)
- OpenSCAD (#2449)
- systemd (#2470)
- TLS presentation language (#2455)
- Verifpal (#2430)
- YARA (#2453)
-
Updated lexers:
- ASC: Add
application/pem-certificate-chain
mimetype (#2471) - C/C++: Refine keyword lists (#2421, #2422)
- Carbon: Fix long processing times on invalid input, fix number lexing (#2454, #2456)
- Elpi: Handle quotations (#2419)
- Go: Support additional built-ins (#2481)
- HTTP: Support empty headers (#2461), support more general methods (#2460), also recognize responses in
analyse_text
implementation (#2460), and highlight URL encoded data (#2465, #1620) - Igor Pro: Update to Igor Pro 9 (#2482)
- lean: Recognize expressions nested within attributes (#1817)
- Macaulay2: Update builtins (#2457)
- Markdown: Allow extra characters after language name
in code blocks (#2437) - NestedText: Update to version 3 (#2459)
- scdoc: Improve language guessing implementation (#2402)
- Spice: Update to latest version (#2476)
- Transact SQL: Add Pre-sorted Group keyword (#2417)
- Uxntal: Update for current runes (#2424)
- Wikitext: Fix templates in wiki links; fix a language converter false positive; add bold italic markup (#2447)
- ASC: Add
-
Add
Generic.EmphStrong
token for bold italic markup (#2444) -
Add Lightbulb style (#2474)
-
Improve contrast in Monokai style (#2448)
-
Add documentation how to create terminal code highlighting commands (#2131, #2425)
-
Add support for loading TrueType fonts to the
ImageFormatter
(#1960)
2.15.1
2.15.0
-
Added lexers:
-
Updated lexers:
-
AMDGPU: Add support for
scratch_
instructions, theattr*.*
argument,
as well as theoff
modifier (#2327). -
APDL: Miscellaneous improvements (#2314)
-
bash/tcsh:
-
Chapel: Support attributes (#2376)
-
CSS: Improve lexing of numbers inside function calls (#2382, #2383)
-
diff: Support normal diff syntax, as opposed to unified diff syntax (#2321)
-
GLSL, HLSL:
-
LilyPond: minor update of builtins
-
PHP: support attributes (#2055, #2347, #2360), fix anonymous classes without
parameters (#2359), improve lexing of variable variable syntax (#2358) -
Python:
-
Spice: Update keywords (#2336)
-
SQL+Jinja (
analyse_text
method): Fix catastrophic backtracking (#2355) -
Terraform: Add
hcl
alias (#2375)
-
-
Declare support for Python 3.11 and drop support for Python 3.6 (#2324).
-
Update
native
style to improve contrast (#2325). -
Update `github-dark`` style to match latest Primer style (#2401)
-
Revert a change that made guessing lexers based on file names slower
on Python 3.10 and older (#2328). -
Fix some places where a locale-dependent encoding could unintentionally
be used instead of UTF-8 (#2326). -
Groff formatter: sort color definitions for reproducibility (#2343)
-
Move project metadata to
pyproject.toml
, removesetup.py
andsetup.cfg
(#2342) -
The top-level
Makefile
has been removed. Instead, all shortcuts
for developing are now defined and run through tox. Thedoc
folder
still contains aMakefile
as an alternative totox -e doc
.