highlighting-kate 0.6 (26 May 2015)

  * Support new KF5 token attributes (#69).
    + Added to `TokenType`: `ConstantTok`, `SpecialCharTok`,
      `VerbatimStringTok`, `SpecialStringTok`, `ImportTok`,
      `DocumentationTok`, `AnnotationTok`, `CommentVarTok`,
      `VariableTok`, `ControlFlowTok`, `OperatorTok`, `BuiltInTok`,
      `ExtensionTok`, `PreprocessorTok`, `AttributeTok`,
      `InformationTok`, `WarningTok`.
    + Revised styles to add clauses for the new `TokenType`s.
    + Revised HTML formatter to produce CSS for all the new
      `TokenType`s, and to include comments naming each type.
    + Modified `ParseSyntaxFiles` to handle new types.
    + Updated tests.
  * Updated xml syntax definitions.  However, we retain an older
    version of haskell.xml, since the new one didn't work properly.
  * Added `ToColor` instance for `Int`.
  * Renamed `Highlight[.hs]` to `highlighting-kate[.hs]` (Geoff Nixon).
  * Allow `#` as an operator in Haskell (Ryan Yates).
  * Added support for Kotlin (kotlinlang.org) (Sebastien Soudan).

highlighting-kate 0.5.15 (25 Apr 2015)

  * Rename `Highlight` utility and `Highlight.hs` to `highlighting-kate` and
    `highlighting-kate.hs` to avoid naming conflicts with other syntax
    highlighting utilities.

highlighting-kate 0.5.14 (28 Mar 2015)

  * Put code blocks in a div. This reverts the change in 0.5.13,
    wrapping all blocks in a pre element.  (Pre elements are only
    supposed to contain flow content, not block-level elements like
    tables.)  Instead we now wrap each code block in a div with class
    `sourceCode`.
  * The default CSS now includes `div.sourceCode { x-overflow: auto; }`,
    so that a scroll bar will appear on small screens. See jgm/pandoc#1903
    and jgm/highlighting-kate#65 for background.

highlighting-kate 0.5.13 (27 Mar 2015)

  * Wrap HTML table with line numbers in a pre element (Adam Sapek).
    HTML tables are impossible to format via styles for different
    screen widths. This means that pandoc generated pages with code
    blocks must have a fixed minimal width, making them hard to read on
    narrower screens.

    Wrapping the table in a pre block allows formatting of code
    blocks to have a horizontal scroll bar if the content doesn't fit
    the screen width, by adding the following style:

         pre.sourceCode {
             overflow-x: auto;
         }

    This enables pandoc to generate responsive HTML pages.

highlighting-kate 0.5.12 (19 Mar 2015)

  * Added Data and Typeable instances for types used in pandoc's
    ReaderOptions and WriterOptions (Shahbaz Youssefi).
  * Bumped blaze-html upper bounds (RyanGlScott).
  * Added idris syntax definition (Alexander Shabalin).
  * Added regex-posix install to 'make prep' step (@johguenther).
  * Modified isocpp.xml to fix float parsing. The float regex in
    isocpp.xml seems to work fine with Kate's regex engine, but gives
    different results with pcre. Added isocpp.xml.patch to keep track of
    the divergence from upstream.

highlighting-kate 0.5.11.1 (19 Dec 2014)

  * Fixed rest.xml regex (#54).

highlighting-kate 0.5.11 (11 Nov 2014)

  * Fixed line continuations (#51).
    API change:  Added synStContinuation field to SyntaxState.

  * Added Dockerfile syntax (James Turnbull, #49).

  * Fixed 'prep' target in Makefile.

highlighting-kate 0.5.10 (09 Nov 2014)

  * Added support for Agda (Matthias C. M. Troffaes).
  * Made doctype case-insensitive in HTML 5 (Ondřej Žára).

highlighting-kate 0.5.9 (24 Aug 2014)

  * Added cabal test suite.
  * Update .cabal file and README.md to reflect new upstream repo
    (Geoff Nixon).
  * Added new syntaxes: ABC, Lilypond (musical typesetting),
    FASM/[NASM/MASM/YASM] (Intel Style Assembly Language), GraphViz Dot (graph
    notation), GLSL (graphics language), M4 (macro language, used by GNU
    autotools), Mathematica, MediaWiki (wiki markup), OpenCL (GPGPU language),
    RELAX NG (XML schema) [as the alternate RELAX NG compact syntax is already
    included], tcsh [C shell] (scripting/shell language [with small patch for
    parsing error]).  (Geoff Nixon)
  * Add language.xsd and validatehl.sh script from upstream: useful (Geoff
    Nixon).
  * Replace restructuredtext.xml with updated (renamed) rest.xml (Geoff
    Nixon).
  * Update from upstream: alert_indent, awk, css, diff, doxygen, email,
    fsharp, haskell, javadoc, literate-haskell, markdown, maxima, perl,
    prolog, python, vhdl, yacc. (Geoff Nixon)
  * Added .patch files in xml directory where local changes have been
    made (Geoff Nixon).
  * Common:  Convert `\o{...}` to `\x{..}` in regexes.
    `\x{..}` has been supported for a long time in pcre.

highlighting-kate 0.5.8.5 (15 Jul 2014)

  * Use utf8 option with pcre-light.
  * Text.Highlighting.Kate.Common:  Fixed convertOctal.
    It now converts `\o{0377}` to `\377`, for compatibility
    with earlier versions of pcre (including the one currently
    in debian).  It also now generally leaves octal escapes in place,
    converting to unicode characters only when a compatible octal
    escape isn't available.  Addresses debian #753299.
  * Updated syntax definitions for prolog, modelines, makefile, isocpp,
    html, css, go, doxygen, cpp, cmake, ada.

highlighting-kate 0.5.8.4 (15 Jul 2014)

  * Fixed DetectIdentifier so it allows underscores.  (This reflects a
    change in kate some time since this library was first written.)

highlighting-kate 0.5.8.3 (19 Jun 2014)

  * Added pure language.
  * Added fallthrough to php.xml, so the `<?php` prefix is no longer
    needed (pandoc #1271).

highlighting-kate 0.5.8.2 (27 May 2014)

  * Updated perl xml file for regex syntax compatibility (pandoc #1317).

highlighting-kate 0.5.8.1 (14 May 2014)

  * Update fsharp and ocaml xml files for regex syntax compatibility (#44).
    We need `\o{0355}`, not `\0355`.  See the pcre man page.
  * Give better information when there is a regex compile failure.

highlighting-kate 0.5.8 (12 May 2014)

  * Enable UTF-8 support with the regex-pcre-builtin backend.
    (This requires regex-pcre-builtin >= 0.94.4.8.8.35, and it
    adds a dependency on utf8-string.) (Matthias Troffaes, #42)
  * Fixed performance regression: added a caseSensitive parameter
    to compileRegex and made it non-monadic.  (Checking state was
    a serious performance hit, and was not necessary in this case.)
  * Improved README and added .md extension.
  * Added defaultSyntaxState in Types.

highlighting-kate 0.5.7.1 (09 May 2014)

  * Fix typo in list append operator in pcre-light-using code
    (Clint Adams).

highlighting-kate 0.5.7 (07 May 2014)

  * Added Gcc and Isocpp (needed by Cpp).
  * Updated syntax definitions.
  * Made regex matches respect the `casesensitive` setting of the style.

highlighting-kate 0.5.6.1 (27 Jan 2014)

  * Allow blaze-html 0.7.

highlighting-kate 0.5.6 (07 Jan 2014)

  * Added restructuredtext.
  * Updated rust syntax definition.
  * Changed lua highlighting so variables/constants not highlighted
    as keywords.
  * Updated kate syntax definitions for python, cmake.

highlighting-kate 0.5.4 (26 June 2013)


  * LaTeX formatter:  Render inline code as `\VERB|code|`
    rather than `|code|`.  Define `\VERB` macro in preamble
    rather than defining `|` as a shortverb character.  This
    prevents troublesome clashes with `|` characters in array
    environments and such.  See pandoc#891.

highlighting-kate 0.5.3.9 (06 May 2013)

  * LaTeX formatter:  Avoid using \textbar, which gives a bar that
    is narrow and in a proportional font.  Instead, use literal | in
    block code and a new macro \VerbBar in inline code.

  * Updated Curry highlighting (Björn Peemöller).

highlighting-kate 0.5.3.8 (05 Mar 2013)

  * Support mozilla rust.

highlighting-kate 0.5.3.7 (20 Feb 2013)

  * Bumped version bound on blaze-html to 0.7.

highlighting-kate 0.5.3.6 (16 Feb 2013)

  * Added support for Curry and literate Curry (Björn Peemöller).

  * Added support for Julia (dcjones).

  * Fixed language extensions value for asn1 (Stanley).

  * Updated xml descriptions from kate repository.

highlighting-kate 0.5.3.5 (19 Jan 2013)

  * Reverted use of \char13 and \char18 for ' and `.
    This is not robust enough across encodings.  Recommend using
    upquote package instead.

highlighting-kate 0.5.3.4 (04 Jan 2013)

  * Don't pop context on line end if we're already at root context.
    This helps with the erlang.xml file, which has some odd
    `#pop`s in it. Closes #26.

  * Avoid superfluous table lookup.  We find the default attribute
    in ParseSyntaxFiles and embed it directly in the parser, rather
    than looking it up at runtime.  This simplifies the parsers
    and should boost performance.

  * Don't pop last context in context stack.  This helps with the
    erlang.xml file, which has some odd `#pop`s.

  * Changed cabal file so library need not be recompiled for executable.
    Moved Highlight.hs to extra/ directory.

  * Fixed alignment of line numbers with lines.

  * Make sure we parse the whole line when an error occurs.
    This fixes a problem wherein ends of lines were dropped
    after errors.

highlighting-kate 0.5.3.3 (12 Oct 2012)

  * LaTeX output:  Use \char13 and \char18 for ' and `.
    Reason:  Otherwise these appear as curly quotes.
    The upquote package can alternatively be used, but it seems better to
    make it unnecessary to use it.

  * Make line number anchors into clickable links.
    This makes it easier to obtain the URL for a specific line
    of code.  (Alp Mestanogullari)

highlighting-kate 0.5.3.2 (07 Sep 2012)

  * Fixed handling of backslash in bash highlighting.
    Sometimes "\\" is used for backslash in the
    syntax definitions (as in bash), other times "\".
    We now handle both cases.

highlighting-kate 0.5.3.1 (07 Sep 2012)

  * More changes to properly handle includes.  This
    closes issue #22 with doxygen comments.  pDefault
    has been incorporated into the ends of the context
    parsers, instead of being put in parseExpression.

  * Re-added doxygenlua, which now works.

highlighting-kate 0.5.3 (07 Sep 2012)

  * Improved handling of include directives.  This fixes
    bugs in comments caused by doxygen and javadoc includes.

  * Changes to internal Types and Common:

    - Context is now a (String, String) rather than a String.
      The first is the syntax name, the second the context name.
    - ContextStack is now a list of Contexts.
    - synStLanguage has been removed.
    - pEndLine parameter has been removed from mkParseSourceLine.
    - parseExpression now handles the endline.
    - parseExpressionInternal has been removed in the
      individual parsers; we now use parseExpression.

highlighting-kate 0.5.2 (10 Aug 2012)

  * Updated xml syntax definitions from kate repository:
    bash, c, clojure, coffee (formerly coffeescript),
    cpp, doxygen, fortran, go, latex, prolog, r, ruby, tcl.

highlighting-kate 0.5.1 (29 May 2012)

  * Fixed inline LaTeX formatting:  it should be `|...|`
    rather than `\Verb{...}`.

highlighting-kate 0.5.0.6 (27 Apr 2012)

  * Added zenburn style.

  * Updated for compatibility with blaze-html 0.5.*.

highlighting-kate 0.5.0.5 (14 Feb 2012)

  * Update 'synStPrevNonspace' at end of line.
    This fixes a bug affecting every lexer that uses the 'first
    nonspace' property.  (e.g. bash)

highlighting-kate 0.5.0.4 (12 Feb 2012)

  * Fixed typo in version bounds for pcre-light.

highlighting-kate 0.5.0.3 (12 Feb 2012)

  * Fixed compilation with the 'pcre-light' flag.

highlighting-kate 0.5.0.2 (08 Feb 2012)

  * Fixed bug with lookahead parsers.
    Previously they didn't consume input, which caused an error
    starting with parsec 3.1.2 -- even though in fact there was
    no threat of infinite looping.

highlighting-kate 0.5.0.1 (31 Jan 2012)

  * Give table.sourceCode width of 100%, for consistency
    between numbered and unnumbered code blocks.

highlighting-kate 0.5 (25 Jan 2012)

  * Text.Highlighting.Kate.Format.HTML now exports styleToCss
    instead of styleToHtml.

highlighting-kate 0.4 (21 Jan 2012)

  * Text.Highlighting.Kate.Definitions has been renamed as
    Text.Highlighting.Kate.Types.

  * Text.Highlighting.Kate.Format was replaced by two modules,
    Text.Highlighting.Format.HTML and Text.Highlighting.Format.LaTeX.

  * Text.Highlighting.Kate no longer exports functions from Style or
    Format.

  * highlightAs now lazily consumes lines and returns a list
    of SourceLine.  Previously, the entire input had to be
    parsed before any output was produced. The output type
    is no longer an Either; if a parsing error occurs, the
    offending line is highlighted as ErrorTok, and we continue
    with the next line without change of state.
    If you call highlightAs with a language that isn't supported,
    all lines will be highlighted as NormalTok.

  * Monadic 'fail' now used instead of 'error'.  Closes Issue #10.
    Thanks to mcmaniac for suggesting these changes.

  * TokenType is used instead of String for token types.

  * Completely changed Formatting API.

    + Instead of formatAsHtml, we now have four functions:
      formatHtmlInline, formatHtmlBlock, formatLaTeXInline,
      formatLaTeXBlock.

    + The options parameter is now a record, FormatOptions,
      rather than a list, [FormatOption].

    + "Inline" is no longer a format option, since there are separate
      formatting functions for block and inline.

    + formatHtml no longer has a string parameter for language
      name, and the language name is no longer added as a class.

    + highlightingCss has been removed; we now have styleToHtml
      and styleToLaTeX, which take a Style and produce code for
      the HTML header or LaTeX preamble.

    + Only the short form of the attribute is now used.
      Removed OptDetailed.

  * blaze-html is now used instead of xhtml for HTML formatting.

  * Modules for individual languages are no longer exposed.

  * Removed BUGS; added link to github issue tracker in README.

  * Removed ilerp, mediawiki, xharbour syntaxes.

  * Updated haskell xml.  Changed order of parsers in haskell.xml.
    This is needed so that floats can be parsed as floats.
    Otherwise '33.3' gets parsed as an integer, a function (.),
    and an integer. (These changes should be submitted upstream.)

  * Fixed lua highlighting problems.
    Improved lua highlighter.  Removed doxygen-lua, which was messing
    things up.

  * Made pMatchRegex slightly faster.

  * Improved efficiency of pKeyword by checking to see if a
    potential keyword lies ahead.

  * Fixed normalizeTokens so that comments etc. don't get split up.

  * Made KateParser a synonym for GenParser Char SyntaxState.

  * Simplified pDefault. The check for non-newline is no longer
    needed.

  * Add sourceCode class to tr in tables.

  * Improved ParseSyntaxFiles.hs.  It now generates no -Wall
    warnings. In addition, it produces cleaner syntax parsers.

  * Changed the SyntaxState type:
    Removed synStCurrentLine, synStCharsParsedInLine.
    Added synStLineNumber, synStPrevNonspace.

  * Common: Removed pHandleEndline.  Added fromState.
    Added mkParseSourceLine.

  * Highlight executable: removed --css flag, added --style, --format.

  * Cleaned up Makefile, added clean, distclean targets.

highlighting-kate 0.3.1 (27 Nov 2011)

  * Fixed a release bug in 0.3.  The Clojure module was not included
    in the cabal file.

highlighting-kate 0.3 (26 Nov 2011)

  * Use -O0 by default to speed compiling.  This vastly improves compilation
    speed and reduces memory requirements.  In some rough tests, it does not
    seem to hurt performance much, but those who need maximum performance
    should compile with -O2 (or use a different library, like illuminate).

  * Updated syntax descriptions from kate repository.

  * Removed some syntaxes to trim the bloated package.
    Removed: ansys, cisco, cue, desktop, fstab, gap, gdb,
    gettext, idl, m3u, pango, winehq, wml.

  * Added syntax definition for Clojure (thanks to Caspar Hasenclever).

highlighting-kate 0.2.10 (16 Jul 2011)

  * Fixed class on line numbers td.  (Thanks to tantignac)
  * Allow empty context stack.
    `currentContext` returns "" if stack is empty, and this is
    treated as the first context in the list by `parseRules`.
    This fixes a problem with syntax definitions like erlang.xml,
    which has `#pop` as `lineEndContext` in the first context,
    leading to an infinite loop with the old code.
  * Syntax highlighting for CoffeeScript (thanks to igstan).
  * Fixed links in README (thanks to John Gabriele).

highlighting-kate 0.2.9 (29 Jan 2011)

  * Added OptInline to FormatOptions.  Inline code is formatted
    with a "code" tag but no "pre" tag.
  * Put language class on "code" instead of "pre".
    Put "sourceCode" class on "pre" in addition to "code".
  * Fixed a bug in tango style with numbering.

highlighting-kate 0.2.8.2 (28 Jan 2011)

  * formatAsXHtml: Don't put `<br/>` after last line.
  * Added F# highlighting based on the present ocaml definitions
    (Bas Bossink).

highlighting-kate 0.2.8.1 (02 Jan 2011)

  * Updated parseSyntaxFiles.hs to use HXT 9.0.0.

  * Added Makefile to help developers.
    When you check out the source from the repository, you can now
    do 'make prep' to generate the syntax parsers from the xml
    definitions.

  * Improved installation instructions.

  * Updated grammar files from Kate (Tianyi Cui).

  * Fixed bug in endline parsing (pointed out by Samuel Hym).
    + The bug occurs when you're nested two contexts in, and you hit
      the end of a line. Even if both contexts were set up to
      popContext at the end of line, previously only the first
      context was popped.  Example: in bash,
      export A=a
      export B=b
      The second 'export' was being highlighted as VarName.
    + Common: Added pHandleEndline.
    + ParseSyntaxFiles:  don't consume newline if you pop context at end
      of line; instead, fall back to next context and try the newline
      again.

  * Changed type of pPopContext. Now returns () instead of String.

  * Use doxygen instead of doxygenlua in lua parser.
    Using doxygenlua causes many lines to be erroneously
    interpreted as comments.  Reverting to doxygen as before
    fixes things.  Not sure if this is a bug in the lua.xml
    file or in highlighting-kate.

  * Added css based on Pygment’s tango style theme (Samuel Hym).

highlighting-kate 0.2.7.1 (15 July 2010)

  * Don't use the withAttribute combinator with null attribute.

  * Fixed literate-haskell.xml to include attributes.

highlighting-kate 0.2.7 (15 July 2010)

  * New, compressed format for classes. Two-letter class names are now
    used for default styles, and detailed lexical information is omitted
    unless the new OptDetailed option is specified. Also, the "Normal"
    style is no longer used, and spans are not used for "normal" markup.
    The result is significant compression of the highlighted source (in
    one test, 191K -> 72K).

  * Updated the css files in css/ to use the new two-letter class names.
    Users should update their css files, or highlighting will no longer
    work.

  * New OptDetailed option (see above).

  * Added languagesByFilename function.  Unlike the old
    languagesByExtension, this properly handles things like
    "Makefile" and "CMake.txt."

  * A new -d/--detailed option has been provided in the Highlight
    executable. This selects OptDetailed.

  * Improvements to haskell.xml and literate-haskell.xml,
    due to Nicolas Wu.

  * Added octave syntax definition.

  * Changed ParseSyntaxFiles to work with GHC 6.12.

  * ParseSyntaxFiles now uses Text/Highlighting/Kate/Syntax.hs.in
    as a template for construction of Text.Highlighting.Kate.Syntax
    module.

  * Removed parsec < 3 restriction.

  * Minor code cleanup and improvement.

highlighting-kate 0.2.6.2 (06 March 2010)

  * Use separate definitions for compiled regexes.
    This speeds up compilation significantly.

  * Replaced list_(hash) with list_(list_name) for readability.

highlighting-kate 0.2.6.1 (06 March 2010)

  * Performance improvements suggested by Joachim Breitner.
    These reduce compile time and executable size significantly
    (by almost half), and yield a slight speedup in run time.
    + Use Set instead of list for keywords.
    + Put keyword sets in separate definitions.
    + Use words and unwords to trick GHC into not inlining the
      lists of keywords, which slows compilation considerably.

  * Changed ghc-prof-options to include -caf-all and -O0.

highlighting-kate 0.2.6 (22 Jan 2010)

  * Added OptLineAnchors FormatOption.  When used with
    OptNumberLines, this includes a link anchor on each line,
    so users can link to a particular line in a highlighted source
    file.  Thanks to Daniel Patterson for the idea.

  * Default to using regex-pcre-builtin, unless pcre-light flag is
    turned on.  regex-pcre-builtin contains c sources for pcre, so it
    should now be possible to install highlighting-kate without manually
    installing the pcre library first -- a hurdle for some users.

highlighting-kate 0.2.5.1 (29 Nov 2009)

  * Modified ParseSyntaxFiles to use UTF8, since otherwise hscolour
    compiled with GHC 6.12 will choke on the latin1 characters
    in some of the comments giving the authors of the original
    kate syntax files.  Thanks to Sergei Trofimovich for pointing
    out the problem.

  * Fixed regexp in single line comment detector so infix ops like -->
    are not treated as comments.  (Thanks to Dmitri Golubovsky for
	the patch, also contributed to kate upstream.)

  * Use Cabal to get version instead of hardcoding it.

highlighting-kate 0.2.5 (04 Jul 2009)

  * Changed highlightAs to go by file extension if unambiguous.

  * New Relaxngcompact syntax definition.

  * Removed unused mkIdentifier in ParseSyntaxFiles.

  * Moved 'capitalize' to ParseSyntaxFiles and fixed its defn.

  * Removed list of supported languages from description.
    Spell 50 as "fifty" in description.

highlighting-kate 0.2.4 (15 Mar 2009)

  * Fixed bug in literate-haskell-xml. Also fixed now upstream.
    (Bjorn Buckwalter)

  * Modified ParseSyntaxFiles.hs to allow regeneration of individual
    syntax files. With the change ParseSyntaxFiles accepts any number of
    arguments. Those ending with .xml are assumed to be files while the
    rest are assumed to be directories containing .xml files.
    The syntaxes included in Syntax.hs are based on the contents of
    destDir rather than the arguments, this allows regenerating a subset
    of syntaxes but still having all syntaxes in Syntax.hs. (Bjorn Buckwalter)

  * ParseSyntaxFiles.hs: Change deprecated pragma, remove obsolete import.
    (Bjorn Buckwalter)

highlighting-kate 0.2.3 (9 Jul 2008)

  * Removed -O2 in Ghc-Options, as it provides very little speedup

highlighting-kate 0.2.2 (9 Jul 2008)

  * Added Cc-options -O0 to cabal file. This is needed to prevent
    gcc from using enormous amounts of memory on platforms
    that lack a native code generator and compile via C. See
    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469893.

  * Depend on parsec < 3, because parsec 3 is much slower.

  * normalizeHighlighting now strips out empty strings

highlighting-kate 0.2.1 (10 Feb 2008)

  *  Implemented lookAhead in parsers, which fixed bugs in perl, bash,
     and other parsers.

highlighting-kate 0.2 (10 Feb 2008)

  *  Initial release
