@hackage lhs2TeX-hl0.1.2.2

Literate highlighter preprocessor for lhs2tex

Literate HS to TeX Highlighter Helper

Hi there,

This is the very first release of the lhs2tex helper for syntax highlighting. Use it in addition with lhs2tex. Due to a huge demand I make this tool publicly available. Use it your own risk. I am not responsible for any conveniences or inconveniences caused by using this software.

It aims to detect the `kind' of a token either by it's use or it's declaration. Trying to detect both local declarations and usages.

Regards, Alessandro Vermeulen

INSTALLING

  • Download the zip file.

  • Extract

  • Go to the directory and run

    cabal install

  • That's all

USAGE

lhs2TeX-hl -o OUTPUTFILE INPUTFILE

For more details see:

lhs2TeX-hl --help

Currently this is the only way to work with the tool.

In your .tex files add %include OUTPUFILE to tell lhs2tex to use the generated formatting directives. You'll need to provide the following commands yourself:

  • \lhsCHsyntax
  • \lhsCHkeyword
  • \lhsCHprelude
  • \lhsCHtype
  • \lhsCHconstructor
  • \lhsCHfunction
  • \lhsCHinfixoperator
  • \lhsCHclass

This only generates formatting directives for keywords for you. If you want to change the formatting of characters, strings or literal numbers add the following directives:

%subst char a = "\color{char}\text{\tt ''" a "''}" %subst string a = "\color{string}\text{\tt \char34 " a "\char34}" %subst numeral a = "\color{numeral}{ " a " }"

KNOWN ISSUES

  • Infix operators may not work that great, or normal functions that are used infix. Sometimes you might get an `ambiguous infix operator' error.
  • AGDA isn't supported yet unfortunately.
  • Errors aren't that informative. :)

CHANGES

1.2.2: * And classes are now also written to the output file, somewhere I was sleeping during all this. :) 1.2.1: * Fixed a regression, detection of language pragmas was apparently broken and now they aren't anymore. 1.2.0: * Hopefully the ``ambiguous infix operator'' error shouldn't occur that often anymore. * Removed the AGDA dependency for until it actually works. * Classes are now detected.