CMake syntax has been redesigned to pursue the following goals:
- the former generator has used an output of cmake --help (and friends) commands, which is quite informal (not a well-formed) and error prune
- the current syntax was really out of date
The new approach is to use a trivial Python script, which uses a prepared YAML data file and Jinja template to render the resulting syntax file.
Key features of the new implementation are:
- every command highlight only related named parameters -- e.g. add_library do not have TARGET named option, so it doesn't highlight in this context
- new highlight classes have introduced two distinct property names, aliased (imported) targets, special non-named arguments...
- reuse RST syntax for comments
- input data now in VCS and trackable
there is still some work to do, but I've just wanted to know is there any interest in this approach...