Ruby Weekly is a weekly newsletter covering the latest Ruby and Rails news.

Textpow + Ultraviolet: TextMate Powered Syntax Highlighting for Everyone!

By Peter Cooper / June 6, 2007

Textpow Ultraviolet

Textpow and Ultraviolet are a pair of interesting, new(ish) Ruby libraries that co-operate together to parse TextMate bundles and perform syntax highlighting. Textpow is a library that parses and processes the TextMate bundles (special files included with the TextMate text editor that specify how different types of plain text content should be delimited and colored). Ultraviolet then uses Textpow and performs syntax highlighting either as a standalone application or as a Ruby library.

Currently, Textpow can process syntax (tmLanguage and tmSyntax) and theme (tmTheme) files.. and you can obtain these from the free trial download of TextMate if you don't have them already (although, I imagine, non OS X users might be able to find other TextMate bundles and themes elsewhere, such as the Vibrant Ink theme downloadable from here).


  1. Thomas Aylott says:

    Too awesome!

    Here are some handle links that could help

    Official TextMate SVN Repo themes:

    UnOfficial User SUbmitted Themes

  2. Thomas Aylott says:

    oh, please note: TextMate themes can't be expressed in HTML. Themes like Brilliance Black (by me) will look like total carp in HTML but still be way totally awesome in TextMate.

  3. Michael Donaghy says:

    So , does this mean that us poor windows users still have some hope of finally one day achieving the greatness of (something like) textmate

  4. Ryan Allen says:

    Ooh ! OoOoOH! Awesome!

  5. Charles Roper says:

    For Windows users - there are a few of us still out there ;) - you can theoretically (I haven't tried it yet) use E-TextEditor bundles/themes which are TextMate compatible.

  6. Jeremy McAnally says:

    Those libraries are stinkin' cool! Thanks for pointing them out, Peter.

    I whipped up a Rails plugin that exposes Ultraviolet to Rails views through some convenience methods. You can grab it from SVN at or it's in the plugin index at .

  7. Dizan Vasquez says:

    Hello, I am ultraviolet's developer. Thanks for the post! please, take a look to the latest version, which provides better rendering of the brilliance themes (it tries to emulate alpha blending) and and includes latex rendering (still in alpha, though).

Other Posts to Enjoy

Twitter Mentions