I'm currently looking for a nice and challenging open-source project to work/collaborate on after my thesis. I don't have a Comp. Sci. background, but I'd like to learn more about compiler construction and I also would like to improve my TeX skills, so I figured: Two birds, one stone.
I was thinking of a LaTeX package that would allow for more advanced syntax highlighting of listings than is currently offered by the listings
package. I use the latter a lot and find it mostly pretty good, but I find it also very frustrating for some more advanced stuff. Implementing proper syntax highlighting of a language with a context-sensitive grammar is really a pain in the neck, in listings
. Also, Unicode isn't supported "out of the box".
Sure, we've got minted
, verbments
, pythontex
. Those packages successfully unleashed the power of Python and Pygments in the world of TeX; however, customisation of the syntax highlighting (colour, etc.) involves writing/customising a Pygments lexer; in other words, it requires some Python coding outside the .tex
file. Wouldn't it be nice if everything could be done without using -shell-escape
? Or is there no point in trying to replicate Pygments in TeX?
Arguably, more powerful syntax highlighting seems more within reach, with a combination of fancyvrb
and powerful LaTeX3 packages such as l3regex
.
- Am I just fooling myself? Is there even a point in such a project? Or should we be content to use existing tools (
listings
,minted
, etc.)? - Without turning this into a biglist, what, if anything, do you find frustrating about
listings
? What would be on your wishlist for a hypothetical new package meant for typesetting source code? - Would anybody interested in collaborating on such a project please stand up? Anybody? Hello...?
- What limitations of
l3regex
should I know about before deciding to use it for such a package?
Please do chime in below...
:)
listings
may eventually become unmaintained andexpl3
code is a lot easier to understand at face-value. Second, I assume you realize that regular expressions are a class below CFGs, sol3regex
(which I think is a 'pure' implementation IIRC) will be of limited use. Something more powerful may be needed.listings
may eventually become unmaintained« You can say that about every package :) Alsolistings
only recently got a new maintainer...listings
is laborious or deficient. Maybe you could revise your question to ask for people's wish list of what they would like to see. Just sayin', otherwise, only you will be able to answer your question...inx
months time ;^)