February 21, 2007

TextMate Trac bundle

I’ve been an avid TextMate user and fan for the past couple of years, and I’ve also used Trac at several jobs now. I never like editing anything substantial, like Trac wiki, pages in a web browser text widget, so I use TextMate’s “Edit in TextMate” plugin exhaustively. Over the past couple of years, those things led to my creating and evolving a Trac bundle for TextMate.

It’s still pretty simple, which I think is a good thing. I haven’t had a need for it to do anything very complex. So far, it has a fairly decent language grammar for Trac wiki syntax that defines some reasonable scopes, following the conventions of markup scopes defined in other bundles. It has several useful wiki formatting snippets and commands, from simple stuff like bold and italic, to a rudimentary snippet for creating tables. It also parses wiki headings (e.g. == My Heading == ), and wiki links as TextMate symbols, so you can jump around in wiki pages easily using the symbol pop-up.

If you’re interested, head on over to the Google Code project page and try it out. Please let me know if you find it useful. Suggestions are always welcome, too.

6 comments:

Anonymous said...

This is great, thanks!

Brian said...

Thanks, bart! If you have any suggestions, please let me know.

I have some outstanding updates to the bundle that I hope to incorporate in the next few weeks. So, keep an eye out for an update.

Unknown said...

Hah! I was just thinking about writting one of these..

Beat me too it. Thanks!

Brian said...

Thanks, hope you find it useful. If you have any suggestions, feel free to let me know or contribute!

Adam said...

Great work, Brian. One little addition I made was that links prepended with an exclamation mark should not get the markup.underline.link.tracwiki format applied to them (since you're explicitly telling Trac that what you're entering is not, in fact, a link).

For example, in the current codebase, if you type in !ActiveRecord, the "ActiveRecord" portion will show up formatted as if it was a link to a wiki page. Adding a negated set [^!] to the target line in the language grammar should fix things.

Brian said...

Thanks Adam! That's a simple, but very useful addition. I've rolled it into the bundle locally, and after I test it, I'll post an update.