github pygments/pygments 2.8.0

latest releases: 2.17.2, 2.17.1, 2.17.0...
3 years ago
  • Added lexers:

  • Updated lexers:

    • AutoIt: Support single quoted strings (#1667, #1663)

    • C/C++ & related: Fix mishandling '*/' (#1695)

    • Cocoa: Add builtin types (#1703)

    • Console (#1672)

    • Eiffel: Fix performance issues (#1658)

    • Fortran: Improve combined keyword detection (#1677, #1188)

    • J: Fix operator ? lexing (#1700, #1149)

    • JavaScript/TypeScript: Fix escapes in backtick strings (#1679, #1686)

    • Kotlin: Improve string interpolation, modifier keyword handling, and various small issues (#1699)

    • LESS: Support single-line comments (#1046)

    • Matlab:

      • Add support for class properties (#1466)
      • Update builtin functions (#1705)
      • Various cleanups (#1673)
    • Python: Improve handling of raw f-strings (#1681, #1683)

    • Ruby: Better method name handling (#1531)

    • Stata: Updated keywords (#1470)

  • Added styles:

  • The pygmentize script now uses argparse, all options should work
    as before

  • Add pygmentize -C option to guess a lexer from content

  • With this release, Pygments moves to a new internal testing system (#1649.) See Contributing.md for details. The main advantage of this new change is a much better test coverage of all existing example lexers. It also makes it much easier to add new test snippets.

  • Make guessing prefer Python 3 lexer

  • Do not guess MIME or SQL without reason

  • Changed setuptools to use a declarative config through setup.cfg. Building Pygments now requires setuptools 39.2+.

  • Add markdown to MarkdownLexer aliases (#1687)

  • Change line number handling

    • In <table> based output, the td.linenos element will have either a normal or special class attached. Previously, only special line
      numbers got a class. This prevents styles from getting applied twice - once via <pre>, once via <span class="special">. This also means
      that td.linenos pre is no longer styled, instead, use td.linenos .normal and td.linenos .special.
    • In the "inline" style, the DOM element order was changed. The line number is added first, then the line is wrapped is wrapped by the highlighter. This fixes lines not being fully highlighted.
    • The visual output for inline and non-inline line numbers & highlighting, as well as class-based and inline styling is now consistent.
    • Line number styles are set to background-color: transparent and color: inherit by default. This works much better with dark styles which don't have colors set for line numbers.
  • Remove "raw" alias from RawTokenLexer, so that it cannot be selected by alias.

  • Fix RawTokenLexer to work in Python 3 and handle exceptions.

  • Add prompt colors to the Solarized theme (#1529)

  • Image formatter supports background colors now (#1374)

  • Add support for anchors in conjunction with inline line numbers (#1591)

  • Modernize the codebase using pyupgrade (#1622)

  • Add support for line numbers to the terminal256 formatter (#1674, #1653)

  • Improve analyze_text logic for ECL (#1610)

  • Improve analyze_text logic for CBM Basic V2 (#1607)

  • Improve LaTeX formatter (#1708, #1709)

Don't miss a new pygments release

NewReleases is sending notifications on new releases.