@hackage lhs2TeX-hl0.1.2.2
Literate highlighter preprocessor for lhs2tex
Categories
License
MIT
Maintainer
Alessandro Vermeulen <me@alessandrovermeulen.me>
Links
- Documentation
- No source repository
- Security
Versions
Installation
Dependencies (0)
Dependents (1)
@hackage/acme-everything
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.