highlighting-kate is a Haskell library for syntax highlighting source code. Currently, the following languages are supported: actionscript, ada, apache, asn1, asp, awk, bash, bibtex, boo, c, changelog, clojure, cmake, coffee, coldfusion, commonlisp, cpp, cs, css, curry, d, diff, djangotemplate, doxygen, doxygenlua, dtd, eiffel, email, erlang, fortran, fsharp, gnuassembler, go, haskell, haxe, html, ini, java, javadoc, javascript, json, jsp, julia, latex, lex, literatecurry, literatehaskell, lua, makefile, mandoc, matlab, maxima, metafont, mips, modula2, modula3, monobasic, nasm, noweb, objectivec, objectivecpp, ocaml, octave, pascal, perl, php, pike, postscript, prolog, python, r, relaxngcompact, rhtml, ruby, rust, scala, scheme, sci, sed, sgml, sql, sqlmysql, sqlpostgresql, tcl, texinfo, verilog, vhdl, xml, xorg, xslt, xul, yacc, yaml.

The modules for parsing these languages are automatically generated from Kate syntax highlighting descriptions.


For the latest release, see HackageDB.



git clone git://github.com/jgm/highlighting-kate.git


Language Numbers Style Highlighted Code
Haskell yes haddock Highlight.hs
Objective Caml no espresso queens.ml
Bash yes kate html2markdown.sh
Python no tango merge.py
Rhtml yes espresso archive.html.erb
C no monochrome pprint.c
Cpp yes pygments kwritemain.cpp
Fortran yes kate mergesort.f
Java yes pygments realloc.java
XML yes pygments ruby.xml
Literate Haskell no haddock quicksort.lhs
Common Lisp yes pygments reddit.lisp
Perl yes kate sep-offprint.pl
Lua yes pygments life.lua
Javascript yes pygments scriptaculous.js
Eiffel yes pygments shapes.e

All of these examples use HTML title tags to make class information available. Just move the mouse over an expression to see how it is marked up. This feature is available as an option, but is not turned on by default.


This is an early, “alpha” release. It carries no warranties of any kind.