The highlighting-kate package

highlighting-kate is a syntax highlighting library
with support for nearly one hundred languages. The syntax
parsers are automatically generated from Kate
syntax descriptions (http://kate-editor.org/),
so any syntax supported by Kate can be added.
An (optional) command-line program is provided, along
with a utility for generating new parsers from Kate
XML syntax descriptions.

Maintainer's Corner

Readme for highlighting-kate-0.5.8

highlighting-kate

A Haskell source code highlighting library, based
on Kate's syntax description files (http://kate-editor.org/). It
can produce both HTML and LaTeX output.

Currently, the following languages/formats are supported:

Actionscript

Ada

Apache

Asn1

Asp

Awk

Bash

Bibtex

Boo

C

Changelog

Clojure

Cmake

Coffeescript

Coldfusion

Commonlisp

Cpp

Cs

Css

Curry

D

Diff

Djangotemplate

Doxygen

Dtd

Eiffel

Email

Erlang

Fortran

Fsharp

Gnuassembler

Go

Haskell

Haxe

Html

Ilerpg

Ini

Java

Javadoc

Javascript

Json

Jsp

Julia

Latex

Lex

LiterateCurry

LiterateHaskell

Lua

Makefile

Mandoc

Markdown

Matlab

Maxima

Mediawiki

Metafont

Mips

Modula2

Modula3

Monobasic

Nasm

Noweb

Objectivec

Objectivecpp

Ocaml

Octave

Pascal

Perl

Php

Pike

Postscript

Prolog

Python

R

Relaxngcompact

Restructuredtext

Rhtml

Ruby

Rust

Scala

Scheme

Sci

Sed

Sgml

Sql

SqlMysql

SqlPostgresql

Tcl

Texinfo

Verilog

Vhdl

Xml

Xorg

Xslt

Xul

Yacc

Yaml

To install, use the cabal tool:

cabal install

Note: If you have checked out the source from the darcs repository,
you will first need to do:

make prep

which generates some of the needed source files from xml syntax
definitions.

If you get a linking error with GHC 7 on Mac OS X, "scattered reloc r_address
too large for inferred architecture i386," the workaround is to use the flag
--disable-library-for-ghci when you cabal install.

To generate the documentation:

cabal haddock

For an example of the use of the library, see Highlight.hs.
To compile this program along with the library, specify the 'executable'
flag in the configure step above:

cabal install -fexecutable

To run Highlight, specify the language name using -s:

Highlight -s haskell Highlight.hs > example.html

If you don't specify a language name, Highlight will try to guess it
from the file extension. Highlight can also be used as a pipe, reading
input from STDIN. For other options,

Highlight --help

Styling is done using span tags. The Highlight program will include
default styles in the generated HTML, unless a link to a CSS file is
provided using the '--css' option. Some sample CSS files can be found
in the css directory. These use generic class names (Normal, Keyword,
DataType, DecVal, BaseN, Float, Char, String, Comment, Function, Others,
Alert, Error). For more fine-grained highlighting, users may wish to
create their own CSS files that use language-specific classes.

The parsers in Text/Highlighting/Kate/Syntax were automatically generated
from the Kate syntax definitions in the xml directory. You may modify
the xml files in this directory, or add new ones, and then regenerate
the parsers by doing:

make prep

or

runghc ParseSyntaxFiles.hs xml

Note that ParseSyntaxFiles.hs requires the HXT package (>= 9.0.0).

To get the current Kate syntax highlighting files, clone the kate
repository: