Syntax highlighting engine for Kate syntax definitions
This is a stand-alone implementation of the Kate syntax highlighting engine. It's meant as a building block for text editors as well as for simple highlighted text rendering (e.g. as HTML), supporting both integration with a custom editor as well as a ready-to-use QSyntaxHighlighter sub-class.
Syntax Definition Files
More than 250 syntax definition files are included, additional ones are picked up from the file system if present, so you can easily extend this by application-specific syntax definitions for example.
Out of scope
To not turn this into yet another text editor, the following things are considered out of scope:
- code folding, beyond providing folding range information
- auto completion
- spell checking
- user interface for configuration
- management of text buffers or documents
If you need any of this, check out KTextEditor.
Adding unit tests for a syntax definition
- add an input file into the autotests/input/ folder, lets call it test.<language-extension>
- if the file extension is not sufficient to trigger the right syntax definition, you can add an second file testname.<language-extension>.syntax that contains the syntax definition name to enforce the use of the right extension
- do "make && make test"
- inspect the outputs found in your binary directory autotests/folding.out, autotests/html.output and autotests/output
- if ok, run in the binary folder "./autotests/update-reference-data.sh" to copy the results to the right location
- add the result references after the copying to the git