Because I *REALLY* wanted the colours to blink for some constructs,
I've added 1-colour terminal support with raw ANSI escape codes.
These codes match the colours I named, as best I could.
The 1-colour mode permits the ^[[5m or ^[[6m blinking codes to
be emitted raw. (The `start` and `stop` sequences only are valid
in the 1-colour mode.) Thus I've recreated all the colour state I
cared about.
I don't expect too many problems, as weird terminals are rare these
days.
Now it's region based and uses keywords mode. Hopefully this is
faster. It also enables support for multiple libraries with partially
overlapping symbol sets. (E.g.: Boost and STL.)
Not every system has me logging in as a TCSH user. Specifically,
qubes guests seem to have trouble with non bourne shells as the
login shell. For those I use the "start command" feature of
the terminal, but I need to trick VIM into making the shell
be TCSH.
The overly greedy blue-comment star matcher would make all C and C++
code in doxygen look good, but it messes with non-doxygen block comments.
By changing to this `containedin` blocking, we pickup the trailing
`)` and `}` characters that seem to be skipped if just doing the
ticked-region contained requirement.
Now the `'*'` characters in fixed-width blocks show up correctly,
with respect to how I write code. (I think doxygen also swallows
them anyhow, so the highlighting is more consistent with doxygen's
parser.)
Also on loading a file, everything looks better now.
I made `cpp.cplusplus` a hybrid filetype which tricks the vim
highlighting into believing that we're really in raw C++ for the
purposes of the core vim highlighting rules. My `cplusplus` type
adds more bits to the core stuff, but mostly exists to let
doxygen slip in the way that I want it to.