While working on ShowSort, I split out the code I was using to integrate the SyntaxHighlighter into its own separate project within the ShowSort project on Project Kenai, with the desire to be to create a widget usable within GWT that wraps the capabilities of SyntaxHighlighter into something simple and easy to use. The end result is something that works for my personal needs, but still has some things that could be improved/worked on at a later date.
I really wanted a widget that I could wrap into a UiBinder XML file, something that would be very simple to use. One of the obvious things I felt it would need is for each of the parameters defined for SyntaxHighlighter to be separate parameters in the UiBinder, as well as the brush selection, and for the widget to even be able to have text added that could be embedded straight from the XML or programmatically, and automatically highlight what was needed. The features I ended up with for this widget (so far) are:
- UiBinder support/functionality.
- Theme support with extensibility to add new CSS themes. (Configured at compile-time through the
.gwt.xml file) - Brush support with dynamic brush loading & extensibility to add new brushes.
- Significant concealment of the actual SyntaxHighlighter process (like the SyntaxHighlighter.highlight() JavaScript function call, dynamic loading of brush scripts, etc.)