[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
So... vgrind(1) seems to have basically nothing going for it. Its
purpose is to typeset source with syntax highlighting; but its syntax
highlighting is extremely primitive. For example, the very basic
syntax highlighting in print/enscript produces much better output.
Meanwhile, most of its options don't work; it handles most of them by
issuing options to groff that are not groff options (perhaps they were
original-troff options once upon a time). This includes the option to
avoid shipping the output to $PRINTER for you.
The code is a legacy pile (vgrind itself is a csh script) and it has
no structure and no notion of output backends, so it's limited to
troff output only. Also it has its own regexp implementation for
processing the input to highlight it, and this regexp implementation
for some reason has nonstandard semantics. Finally, while the
highlighting is somewhat configurable, the config file is a
termcap-style file, which is only slightly less human-readable than
All of this could be fixed, but it would take a total rewrite and I'm
not convinced there's any point; it would be better to just delete it,
or if we can't make up our minds to that, at least throw this code out
and start over.
There is one thing it can do that isn't readily available off the
shelf otherwise, and that's process code embedded in roff source.
Does anyone care about this in their own documents? There are four
uses in the tree in /usr/share/doc/papers, but none of these would
lose anything by being turned into vanilla literal blocks.
David A. Holland
Main Index |
Thread Index |