2014-05-06 01:25:08 +08:00

840 lines
22 KiB
Plaintext

Pygments changelog
==================
Issue numbers refer to the tracker at
<http://bitbucket.org/birkenfeld/pygments-main/issues>,
pull request numbers to the requests at
<http://bitbucket.org/birkenfeld/pygments-main/pull-requests/merged>.
Version 1.6
-----------
(released Feb 3, 2013)
- Lexers added:
* Dylan console (PR#149)
* Logos (PR#150)
* Shell sessions (PR#158)
- Fix guessed lexers not receiving lexer options (#838).
- Fix unquoted HTML attribute lexing in Opa (#841).
- Fixes to the Dart lexer (PR#160).
Version 1.6rc1
--------------
(released Jan 9, 2013)
- Lexers added:
* AspectJ (PR#90)
* AutoIt (PR#122)
* BUGS-like languages (PR#89)
* Ceylon (PR#86)
* Croc (new name for 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 scripts (PR#136)
* OpenCOBOL (PR#72)
* QML (PR#123)
* Puppet (PR#133)
* Racket (PR#94)
* Rdoc (PR#99)
* Robot Framework (PR#137)
* RPM spec files (PR#124)
* Rust (PR#67)
* Smali (Dalvik assembly)
* SourcePawn (PR#39)
* Stan (PR#89)
* Treetop (PR#125)
* TypeScript (PR#114)
* VGL (PR#12)
* Visual FoxPro (#762)
* Windows Registry (#819)
* Xtend (PR#68)
- The HTML formatter now supports linking to tags using CTags files, when the
python-ctags package is installed (PR#87).
- The HTML formatter now has a "linespans" option that wraps every line in a
<span> tag with a specific id (PR#82).
- When deriving a lexer from another lexer with token definitions, definitions
for states not in the child lexer are now inherited. If you override a state
in the child lexer, an "inherit" keyword has been added to insert the base
state at that position (PR#141).
- The C family lexers now inherit token definitions from a common base class,
removing code duplication (PR#141).
- Use "colorama" on Windows for console color output (PR#142).
- Fix Template Haskell highlighting (PR#63).
- Fix some S/R lexer errors (PR#91).
- Fix a bug in the Prolog lexer with names that start with 'is' (#810).
- Rewrite Dylan lexer, add Dylan LID lexer (PR#147).
- Add a Java quickstart document (PR#146).
- Add a "external/autopygmentize" file that can be used as .lessfilter (#802).
Version 1.5
-----------
(codename Zeitdilatation, released Mar 10, 2012)
- Lexers added:
* Awk (#630)
* Fancy (#633)
* PyPy Log
* 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 sessions (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)
- Fix Python 3 terminal highlighting with pygmentize (#691).
- In the LaTeX formatter, escape special &, < and > chars (#648).
- In the LaTeX formatter, fix display problems for styles with token
background colors (#670).
- Enhancements to the Squid conf lexer (#664).
- Several fixes to the reStructuredText lexer (#636).
- Recognize methods in the ObjC lexer (#638).
- Fix Lua "class" highlighting: it does not have classes (#665).
- Fix degenerate regex in Scala lexer (#671) and highlighting bugs (#713, 708).
- Fix number pattern order in Ocaml lexer (#647).
- Fix generic type highlighting in ActionScript 3 (#666).
- Fixes to the Clojure lexer (PR#9).
- Fix degenerate regex in Nemerle lexer (#706).
- Fix infinite looping in CoffeeScript lexer (#729).
- Fix crashes and analysis with ObjectiveC lexer (#693, #696).
- Add some Fortran 2003 keywords.
- Fix Boo string regexes (#679).
- Add "rrt" style (#727).
- Fix infinite looping in Darcs Patch lexer.
- Lots of misc fixes to character-eating bugs and ordering problems in many
different lexers.
Version 1.4
-----------
(codename Unschärfe, released Jan 03, 2011)
- Lexers added:
* Factor (#520)
* PostScript (#486)
* Verilog (#491)
* BlitzMax Basic (#478)
* Ioke (#465)
* Java properties, split out of the INI lexer (#445)
* Scss (#509)
* Duel/JBST
* XQuery (#617)
* Mason (#615)
* GoodData (#609)
* SSP (#473)
* Autohotkey (#417)
* Google Protocol Buffers
* Hybris (#506)
- Do not fail in analyse_text methods (#618).
- Performance improvements in the HTML formatter (#523).
- With the ``noclasses`` option in the HTML formatter, some styles
present in the stylesheet were not added as inline styles.
- Four fixes to the Lua lexer (#480, #481, #482, #497).
- More context-sensitive Gherkin lexer with support for more i18n translations.
- Support new OO keywords in Matlab lexer (#521).
- Small fix in the CoffeeScript lexer (#519).
- A bugfix for backslashes in ocaml strings (#499).
- Fix unicode/raw docstrings in the Python lexer (#489).
- Allow PIL to work without PIL.pth (#502).
- Allow seconds as a unit in CSS (#496).
- Support ``application/javascript`` as a JavaScript mime type (#504).
- Support `Offload <http://offload.codeplay.com>`_ C++ Extensions as
keywords in the C++ lexer (#484).
- Escape more characters in LaTeX output (#505).
- Update Haml/Sass lexers to version 3 (#509).
- Small PHP lexer string escaping fix (#515).
- Support comments before preprocessor directives, and unsigned/
long long literals in C/C++ (#613, #616).
- Support line continuations in the INI lexer (#494).
- Fix lexing of Dylan string and char literals (#628).
- Fix class/procedure name highlighting in VB.NET lexer (#624).
Version 1.3.1
-------------
(bugfix release, released Mar 05, 2010)
- The ``pygmentize`` script was missing from the distribution.
Version 1.3
-----------
(codename Schneeglöckchen, released Mar 01, 2010)
- Added the ``ensurenl`` lexer option, which can be used to suppress the
automatic addition of a newline to the lexer input.
- Lexers added:
* Ada
* Coldfusion
* Modula-2
* haXe
* R console
* Objective-J
* Haml and Sass
* CoffeeScript
- Enhanced reStructuredText highlighting.
- Added support for PHP 5.3 namespaces in the PHP lexer.
- Added a bash completion script for `pygmentize`, to the external/
directory (#466).
- Fixed a bug in `do_insertions()` used for multi-lexer languages.
- Fixed a Ruby regex highlighting bug (#476).
- Fixed regex highlighting bugs in Perl lexer (#258).
- Add small enhancements to the C lexer (#467) and Bash lexer (#469).
- Small fixes for the Tcl, Debian control file, Nginx config,
Smalltalk, Objective-C, Clojure, Lua lexers.
- Gherkin lexer: Fixed single apostrophe bug and added new i18n keywords.
Version 1.2.2
-------------
(bugfix release, released Jan 02, 2010)
* Removed a backwards incompatibility in the LaTeX formatter that caused
Sphinx to produce invalid commands when writing LaTeX output (#463).
* Fixed a forever-backtracking regex in the BashLexer (#462).
Version 1.2.1
-------------
(bugfix release, released Jan 02, 2010)
* Fixed mishandling of an ellipsis in place of the frames in a Python
console traceback, resulting in clobbered output.
Version 1.2
-----------
(codename Neujahr, released Jan 01, 2010)
- Dropped Python 2.3 compatibility.
- Lexers added:
* Asymptote
* Go
* Gherkin (Cucumber)
* CMake
* Ooc
* Coldfusion
* haXe
* R console
- Added options for rendering LaTeX in source code comments in the
LaTeX formatter (#461).
- Updated the Logtalk lexer.
- Added `line_number_start` option to image formatter (#456).
- Added `hl_lines` and `hl_color` options to image formatter (#457).
- Fixed the HtmlFormatter's handling of noclasses=True to not output any
classes (#427).
- Added the Monokai style (#453).
- Fixed LLVM lexer identifier syntax and added new keywords (#442).
- Fixed the PythonTracebackLexer to handle non-traceback data in header or
trailer, and support more partial tracebacks that start on line 2 (#437).
- Fixed the CLexer to not highlight ternary statements as labels.
- Fixed lexing of some Ruby quoting peculiarities (#460).
- A few ASM lexer fixes (#450).
Version 1.1.1
-------------
(bugfix release, released Sep 15, 2009)
- Fixed the BBCode lexer (#435).
- Added support for new Jinja2 keywords.
- Fixed test suite failures.
- Added Gentoo-specific suffixes to Bash lexer.
Version 1.1
-----------
(codename Brillouin, released Sep 11, 2009)
- Ported Pygments to Python 3. This needed a few changes in the way
encodings are handled; they may affect corner cases when used with
Python 2 as well.
- Lexers added:
* Antlr/Ragel, thanks to Ana Nelson
* (Ba)sh shell
* Erlang shell
* GLSL
* Prolog
* Evoque
* Modelica
* Rebol
* MXML
* Cython
* ABAP
* ASP.net (VB/C#)
* Vala
* Newspeak
- Fixed the LaTeX formatter's output so that output generated for one style
can be used with the style definitions of another (#384).
- Added "anchorlinenos" and "noclobber_cssfile" (#396) options to HTML
formatter.
- Support multiline strings in Lua lexer.
- Rewrite of the JavaScript lexer by Pumbaa80 to better support regular
expression literals (#403).
- When pygmentize is asked to highlight a file for which multiple lexers
match the filename, use the analyse_text guessing engine to determine the
winner (#355).
- Fixed minor bugs in the JavaScript lexer (#383), the Matlab lexer (#378),
the Scala lexer (#392), the INI lexer (#391), the Clojure lexer (#387)
and the AS3 lexer (#389).
- Fixed three Perl heredoc lexing bugs (#379, #400, #422).
- Fixed a bug in the image formatter which misdetected lines (#380).
- Fixed bugs lexing extended Ruby strings and regexes.
- Fixed a bug when lexing git diffs.
- Fixed a bug lexing the empty commit in the PHP lexer (#405).
- Fixed a bug causing Python numbers to be mishighlighted as floats (#397).
- Fixed a bug when backslashes are used in odd locations in Python (#395).
- Fixed various bugs in Matlab and S-Plus lexers, thanks to Winston Chang (#410,
#411, #413, #414) and fmarc (#419).
- Fixed a bug in Haskell single-line comment detection (#426).
- Added new-style reStructuredText directive for docutils 0.5+ (#428).
Version 1.0
-----------
(codename Dreiundzwanzig, released Nov 23, 2008)
- Don't use join(splitlines()) when converting newlines to ``\n``,
because that doesn't keep all newlines at the end when the
``stripnl`` lexer option is False.
- Added ``-N`` option to command-line interface to get a lexer name
for a given filename.
- Added Tango style, written by Andre Roberge for the Crunchy project.
- Added Python3TracebackLexer and ``python3`` option to
PythonConsoleLexer.
- Fixed a few bugs in the Haskell lexer.
- Fixed PythonTracebackLexer to be able to recognize SyntaxError and
KeyboardInterrupt (#360).
- Provide one formatter class per image format, so that surprises like::
pygmentize -f gif -o foo.gif foo.py
creating a PNG file are avoided.
- Actually use the `font_size` option of the image formatter.
- Fixed numpy lexer that it doesn't listen for `*.py` any longer.
- Fixed HTML formatter so that text options can be Unicode
strings (#371).
- Unified Diff lexer supports the "udiff" alias now.
- Fixed a few issues in Scala lexer (#367).
- RubyConsoleLexer now supports simple prompt mode (#363).
- JavascriptLexer is smarter about what constitutes a regex (#356).
- Add Applescript lexer, thanks to Andreas Amann (#330).
- Make the codetags more strict about matching words (#368).
- NginxConfLexer is a little more accurate on mimetypes and
variables (#370).
Version 0.11.1
--------------
(released Aug 24, 2008)
- Fixed a Jython compatibility issue in pygments.unistring (#358).
Version 0.11
------------
(codename Straußenei, released Aug 23, 2008)
Many thanks go to Tim Hatch for writing or integrating most of the bug
fixes and new features.
- Lexers added:
* Nasm-style assembly language, thanks to delroth
* YAML, thanks to Kirill Simonov
* ActionScript 3, thanks to Pierre Bourdon
* Cheetah/Spitfire templates, thanks to Matt Good
* Lighttpd config files
* Nginx config files
* Gnuplot plotting scripts
* Clojure
* POV-Ray scene files
* Sqlite3 interactive console sessions
* Scala source files, thanks to Krzysiek Goj
- Lexers improved:
* C lexer highlights standard library functions now and supports C99
types.
* Bash lexer now correctly highlights heredocs without preceding
whitespace.
* Vim lexer now highlights hex colors properly and knows a couple
more keywords.
* Irc logs lexer now handles xchat's default time format (#340) and
correctly highlights lines ending in ``>``.
* Support more delimiters for perl regular expressions (#258).
* ObjectiveC lexer now supports 2.0 features.
- Added "Visual Studio" style.
- Updated markdown processor to Markdown 1.7.
- Support roman/sans/mono style defs and use them in the LaTeX
formatter.
- The RawTokenFormatter is no longer registered to ``*.raw`` and it's
documented that tokenization with this lexer may raise exceptions.
- New option ``hl_lines`` to HTML formatter, to highlight certain
lines.
- New option ``prestyles`` to HTML formatter.
- New option *-g* to pygmentize, to allow lexer guessing based on
filetext (can be slowish, so file extensions are still checked
first).
- ``guess_lexer()`` now makes its decision much faster due to a cache
of whether data is xml-like (a check which is used in several
versions of ``analyse_text()``. Several lexers also have more
accurate ``analyse_text()`` now.
Version 0.10
------------
(codename Malzeug, released May 06, 2008)
- Lexers added:
* Io
* Smalltalk
* Darcs patches
* Tcl
* Matlab
* Matlab sessions
* FORTRAN
* XSLT
* tcsh
* NumPy
* Python 3
* S, S-plus, R statistics languages
* Logtalk
- In the LatexFormatter, the *commandprefix* option is now by default
'PY' instead of 'C', since the latter resulted in several collisions
with other packages. Also, the special meaning of the *arg*
argument to ``get_style_defs()`` was removed.
- Added ImageFormatter, to format code as PNG, JPG, GIF or BMP.
(Needs the Python Imaging Library.)
- Support doc comments in the PHP lexer.
- Handle format specifications in the Perl lexer.
- Fix comment handling in the Batch lexer.
- Add more file name extensions for the C++, INI and XML lexers.
- Fixes in the IRC and MuPad lexers.
- Fix function and interface name highlighting in the Java lexer.
- Fix at-rule handling in the CSS lexer.
- Handle KeyboardInterrupts gracefully in pygmentize.
- Added BlackWhiteStyle.
- Bash lexer now correctly highlights math, does not require
whitespace after semicolons, and correctly highlights boolean
operators.
- Makefile lexer is now capable of handling BSD and GNU make syntax.
Version 0.9
-----------
(codename Herbstzeitlose, released Oct 14, 2007)
- Lexers added:
* Erlang
* ActionScript
* Literate Haskell
* Common Lisp
* Various assembly languages
* Gettext catalogs
* Squid configuration
* Debian control files
* MySQL-style SQL
* MOOCode
- Lexers improved:
* Greatly improved the Haskell and OCaml lexers.
* Improved the Bash lexer's handling of nested constructs.
* The C# and Java lexers exhibited abysmal performance with some
input code; this should now be fixed.
* The IRC logs lexer is now able to colorize weechat logs too.
* The Lua lexer now recognizes multi-line comments.
* Fixed bugs in the D and MiniD lexer.
- The encoding handling of the command line mode (pygmentize) was
enhanced. You shouldn't get UnicodeErrors from it anymore if you
don't give an encoding option.
- Added a ``-P`` option to the command line mode which can be used to
give options whose values contain commas or equals signs.
- Added 256-color terminal formatter.
- Added an experimental SVG formatter.
- Added the ``lineanchors`` option to the HTML formatter, thanks to
Ian Charnas for the idea.
- Gave the line numbers table a CSS class in the HTML formatter.
- Added a Vim 7-like style.
Version 0.8.1
-------------
(released Jun 27, 2007)
- Fixed POD highlighting in the Ruby lexer.
- Fixed Unicode class and namespace name highlighting in the C# lexer.
- Fixed Unicode string prefix highlighting in the Python lexer.
- Fixed a bug in the D and MiniD lexers.
- Fixed the included MoinMoin parser.
Version 0.8
-----------
(codename Maikäfer, released May 30, 2007)
- Lexers added:
* Haskell, thanks to Adam Blinkinsop
* Redcode, thanks to Adam Blinkinsop
* D, thanks to Kirk McDonald
* MuPad, thanks to Christopher Creutzig
* MiniD, thanks to Jarrett Billingsley
* Vim Script, by Tim Hatch
- The HTML formatter now has a second line-numbers mode in which it
will just integrate the numbers in the same ``<pre>`` tag as the
code.
- The `CSharpLexer` now is Unicode-aware, which means that it has an
option that can be set so that it correctly lexes Unicode
identifiers allowed by the C# specs.
- Added a `RaiseOnErrorTokenFilter` that raises an exception when the
lexer generates an error token, and a `VisibleWhitespaceFilter` that
converts whitespace (spaces, tabs, newlines) into visible
characters.
- Fixed the `do_insertions()` helper function to yield correct
indices.
- The ReST lexer now automatically highlights source code blocks in
".. sourcecode:: language" and ".. code:: language" directive
blocks.
- Improved the default style (thanks to Tiberius Teng). The old
default is still available as the "emacs" style (which was an alias
before).
- The `get_style_defs` method of HTML formatters now uses the
`cssclass` option as the default selector if it was given.
- Improved the ReST and Bash lexers a bit.
- Fixed a few bugs in the Makefile and Bash lexers, thanks to Tim
Hatch.
- Fixed a bug in the command line code that disallowed ``-O`` options
when using the ``-S`` option.
- Fixed a bug in the `RawTokenFormatter`.
Version 0.7.1
-------------
(released Feb 15, 2007)
- Fixed little highlighting bugs in the Python, Java, Scheme and
Apache Config lexers.
- Updated the included manpage.
- Included a built version of the documentation in the source tarball.
Version 0.7
-----------
(codename Faschingskrapfn, released Feb 14, 2007)
- Added a MoinMoin parser that uses Pygments. With it, you get
Pygments highlighting in Moin Wiki pages.
- Changed the exception raised if no suitable lexer, formatter etc. is
found in one of the `get_*_by_*` functions to a custom exception,
`pygments.util.ClassNotFound`. It is, however, a subclass of
`ValueError` in order to retain backwards compatibility.
- Added a `-H` command line option which can be used to get the
docstring of a lexer, formatter or filter.
- Made the handling of lexers and formatters more consistent. The
aliases and filename patterns of formatters are now attributes on
them.
- Added an OCaml lexer, thanks to Adam Blinkinsop.
- Made the HTML formatter more flexible, and easily subclassable in
order to make it easy to implement custom wrappers, e.g. alternate
line number markup. See the documentation.
- Added an `outencoding` option to all formatters, making it possible
to override the `encoding` (which is used by lexers and formatters)
when using the command line interface. Also, if using the terminal
formatter and the output file is a terminal and has an encoding
attribute, use it if no encoding is given.
- Made it possible to just drop style modules into the `styles`
subpackage of the Pygments installation.
- Added a "state" keyword argument to the `using` helper.
- Added a `commandprefix` option to the `LatexFormatter` which allows
to control how the command names are constructed.
- Added quite a few new lexers, thanks to Tim Hatch:
* Java Server Pages
* Windows batch files
* Trac Wiki markup
* Python tracebacks
* ReStructuredText
* Dylan
* and the Befunge esoteric programming language (yay!)
- Added Mako lexers by Ben Bangert.
- Added "fruity" style, another dark background originally vim-based
theme.
- Added sources.list lexer by Dennis Kaarsemaker.
- Added token stream filters, and a pygmentize option to use them.
- Changed behavior of `in` Operator for tokens.
- Added mimetypes for all lexers.
- Fixed some problems lexing Python strings.
- Fixed tickets: #167, #178, #179, #180, #185, #201.
Version 0.6
-----------
(codename Zimtstern, released Dec 20, 2006)
- Added option for the HTML formatter to write the CSS to an external
file in "full document" mode.
- Added RTF formatter.
- Added Bash and Apache configuration lexers (thanks to Tim Hatch).
- Improved guessing methods for various lexers.
- Added `@media` support to CSS lexer (thanks to Tim Hatch).
- Added a Groff lexer (thanks to Tim Hatch).
- License change to BSD.
- Added lexers for the Myghty template language.
- Added a Scheme lexer (thanks to Marek Kubica).
- Added some functions to iterate over existing lexers, formatters and
lexers.
- The HtmlFormatter's `get_style_defs()` can now take a list as an
argument to generate CSS with multiple prefixes.
- Support for guessing input encoding added.
- Encoding support added: all processing is now done with Unicode
strings, input and output are converted from and optionally to byte
strings (see the ``encoding`` option of lexers and formatters).
- Some improvements in the C(++) lexers handling comments and line
continuations.
Version 0.5.1
-------------
(released Oct 30, 2006)
- Fixed traceback in ``pygmentize -L`` (thanks to Piotr Ozarowski).
Version 0.5
-----------
(codename PyKleur, released Oct 30, 2006)
- Initial public release.