Changelog for highlighting-kate-

highlighting-kate (05 Mar 2013) * Support mozilla rust. highlighting-kate (20 Feb 2013) * Bumped version bound on blaze-html to 0.7. highlighting-kate (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 (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 (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 (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 (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 (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 (27 Apr 2012) * Added zenburn style. * Updated for compatibility with blaze-html 0.5.*. highlighting-kate (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 (12 Feb 2012) * Fixed typo in version bounds for pcre-light. highlighting-kate (12 Feb 2012) * Fixed compilation with the 'pcre-light' flag. highlighting-kate (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 (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 (28 Jan 2011) * formatAsXHtml: Don't put `<br/>` after last line. * Added F# highlighting based on the present ocaml definitions (Bas Bossink). highlighting-kate (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 (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/ as a template for construction of Text.Highlighting.Kate.Syntax module. * Removed parsec < 3 restriction. * Minor code cleanup and improvement. highlighting-kate (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 (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 (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 * 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