Support custom syntax highlighting in the diff viewer

Review Request #1180 — Created Oct. 25, 2009 and discarded

Information

djs
Review Board
master

Reviewers

Pygments supports lots of styles, but RB currently only supports its own simple syntax highlighting. This is a first step toward supporting custom syntax highlighting. Just looking for comments on the approach.

* Add a script to generate all available pygment highlighters as static CSS files
* Add an admin field to choose the desired style
* Update templates to use a selector for the syntax highlighting

This change works well enough with light-background styles, but not with dark-background styles. We'd need to support styling the changed line backgrounds based on the colorscheme of the theme for this to work well. Also needs a drop-down for selecting styles, css to be automatically generated on install, and user-selectable themes.

http://github.com/djs/reviewboard/tree/review-1180
Unit tests pass. Tested diff fragments and review comment fragments with different pygments color schemes. Tested generating a new database.
DJ
chipx86
  1. 
      
  2. reviewboard/diffviewer/diffutils.py (Diff revision 1)
     
     
    make sure this fits on 80 lines.
    
    might want to just do:
    
    formatter = HtmlFormatter(style=style)
    return pygments.....
  3. We'll need to factor in the current style in when caching the views. Otherwise, this might be stale.
    1. Yup, I figured that would be a problem particularly with if it's user configurable. Of course I have no idea how the caching stuff works, but I'm sure I'll figure it out.
  4. Same here.
  5. 
      
DJ
Review request changed
Status:
Discarded