One of its nicest features is its programmable syntax highlighting. Users can write syntax highlighting rules for custom languages or adapt and/or modify the default highlighting rules for the built-in languages.
However, writing and maintaining accurate syntax highlighting rules for a complex language can be rather tedious and error prone, especially when doing this through the built-in user interface. Highlighting rules are based on regular expressions and these expressions can easily span several lines for complex rules. As a result, editing them can be very hard (eg, making sure that all parens are balanced).
To overcome these problems, I wrote a small Python package that can be used to generate and maintain highlighting pattern sets. The package is called NEditHL. The latest version can be downloaded here. Documentation is included, but is also availabe on line.