Changelog History
Page 1
-
v0.13.1 Changes
getCapture
: fail instead of throwing error if dynamic match not found. I believe this is the intended behavior for StringDetect, judging from examples in the KDE documentation.Update xml syntax definitions: asn1, bash, c, cmake, cpp, cs, d, elixir, fortran-fixed, gcc, glsl, go, html, java, javascript, lex, lua, markdown, mediawiki, noweb, ocaml, orgmode, php, powershell, prolog, python, r, ruby, rust, scheme, sql-postgresql, typescript, vhdl, xml, yacc, yaml, zsh
Replace a lambda with pointfree notation (shaving off some RAM usage) (0xd34df00d).
Use
newtype
forTokenizerM
, giving about 5-10% boost on benchmark (0xd34df00d).
-
v0.13 Changes
Update syntax definitions from upstream: bash, cmake, diff, ini, perl, php, sgml, xml.
Split out formatters into separate packages (#152). API changes:
- Skylighting.Core no longer exports Skylighting.Format.ANSI, Skylighting.Format.HTML, Skylighting.Format.LaTeX. These are now provided by separate packages, skylighting-format-ansi, skylighting-format-blaze-html, skylighting-format-latex.
- Skylighting.Types no longer exports XTerm256ColorCode. This has been moved to skylighting-format-ansi.
Change Makefile to use cabal instead of stack.
-
v0.12.3 Changes
Add scss, sass, systemverilog, orgmode.
Update xml definitions from upstream: bash, css, python, r, zsh.
-
v0.12.3.1 Changes
Allow mtl 2.3.
Update syntax defs from upstream: bash, cmake, go, haxe, lua, zsh.
Add nix.xml (#149).
Add Pygments styles for
Import
andBuiltIn
token types (#147, Bryan A. Danielak).Use StrictData.
Remove unused dependencies (silences cabal warnings) (Andreas Abel).
-
v0.12.2 Changes
Parser: handle context shift to external context, e.g.,
BashOneLine##Bash
. Closes #139 (issue with Dockerfile).Update xml files from upstream: bash, cmake, markdown, objectivecpp, php, sql-postgresql, sql, stan, zshr
Fix formatting in
Color
doc-comment (Janek Spaderna).Add stan.xml (Brian Ward).
-
v0.12.1 Changes
Update syntax definitions: bash, cmake, dockerfile, gnuassembler, markdown, spdx-comments.
Support hex escapes using
\x
in regex char classes (#135). These occur in a number of syntax definitions and weren't correctly interpreted before. Thanks to @Agnishom.Support regex property syntax, e.g.
\p{Lu}
.Regex: support
\B
(non-word-boundary).
-
v0.12 Changes
Properly handle include elements in keyword lists (#124). A number of syntaxes (e.g. typescript, scala) include keyword lists from other syntaxe,s and previously we weren't able to handle this.
There are several pieces to this change. We need to store lists where other Syntaxes can look them up, so we add an
sLists
field toSyntax
[API change], and modify the parser to fill this. We change lists so that their values are not just aText
, but aListItem
that can either be a textual value or an include directive, specifying aListName
(syntax name and list name).The
Keyword
constructor forMatcher
now takes, instead of aWordSet
, Either aListName
or aWordSet
(API change).Skylighting.Parser now exports
resolveKeywords
(API change), which modifies allKeyword
matchers in a syntax so that Left values with aListName
become Right values with resolvedWordSet
s. The tokenizer applies this function automatically to the SyntaxMap given in Config. But it is more efficient to do this conversion just once, rather than every timetokenize
is called. So we haveloadSyntaxesFromDir
call it on theSyntaxMap
. With this optimization, there is not an appreciable performance cost to the changes described above.Skylighting.Regex: Fix bug with regexes like
a{10}b
(#133). This requires exactly 10 a's; previously we interpreted it as "at least 10."skylighting-extract: take a directory as argument rather than files. This allows us to use
loadSyntaxesFromDir
.Update xml syntax definitions from upstream: julia, cmake, cpp, isocpp, markdown, python, toml.
-
v0.11 Changes
Skylighting.Regex: Support regex subroutines (#118). For example,
(?1)
is replaced by the regex in the first capturing group. So far we only support this simple, absolute form, not the relative form(?-1)
supported by some engines (but not used, I think, in KDE's syntax highlighters). This change involves an API change: Regex in Skylighting.Regex has a new Subroutine constructor, and the Recurse constructor has been removed. Instead of Recurse we use Subroutine 0, which unifies the code.Skylighting.Regex: handle e.g.
[\1]
and[\123]
(without initial 0) as octal escapes (#118). These occur in the zsh.xml syntax definition.Pull xml definitions for bash, cmake, python, zsh from upstream.
README: Add a note about pulling syntax definitions from upstream (#138). Update build instructions for recent cabal versions (#131).
-
v0.10.5 Changes
Fix regression from 0.10.3 with Haskell highlighting of Char (#120).
Update xml syntax definitions from upstream. Updated syntaxes: abc apache asp bash bibtex boo c changelog clojure cmake commonlisp cs curry d diff djangotemplate doxygen elixir elm email erlang fortran-fixed fortran-free fsharp hamlet haskell haxe html idris ini javascript-react javascript json julia kotlin latex lex lilypond literate-curry literate-haskell makefile markdown mathematica maxima mediawiki metafont modula-2 mustache nasm nim noweb ocaml octave opencl perl powershell prolog pure python r roff ruby rust sed spdx-comments sql-mysql sql-postgresql tcl tcsh toml typescript verilog xml xslt xul yacc yaml. Not updated: rhtml (causes an error on our test suite), zsh (has a regex we can't parse).
-
v0.10.5.2 Changes
Added swift grammar definition (Igor Ranieri).
Simplify README.md instructions for two-step build.
Fix link to KDE documentation.