With this package you can create fast custom syntax highlighters for PyQt.
Unlike libraries like Pygments there is no need to retokenize the whole text after a small change. Instead is has a state machine mechanism which is directly supported by QSyntaxHighlighter.
It uses a concept from Eclipse where the source is separated into partitions. For each partition context you can define different tokens which are accepted by the scanner. By keeping track of the previous state it is possible to quickly retokenize only small parts of a text.
The code is highly optimized for speed in order to prevent blocking the GUI.