Textmate gem

As I said last week, I created thor while building a binary to handle my textmate bundles.

I wanted a way to install/uninstall/list textmate bundles like gems. Textmate already has a centralized svn repository for its bundles, and there's a way, through AppleScript, to tell Textmate to reload bundles. The end result: a textmate binary that handles textmate bundles like gems.

$ textmate remote

Marcomates Trunk Remote Bundles  
-------------------------------
ANTLR  
ASP  
ASP_vb_NET  
ActionScript  
Active4D  
Ada  
Apache  
AppleScript  
Bison  
Blogging  
Bulletin Board  
Bundle Development  
C++ Qt  
C  
CSS  
CTags  
CVS  
ColdFusion  
Context Free  
D  
Darcs  
... snip ...

$ textmate remote JavaScript

Marcomates Trunk Remote Bundles  
-------------------------------
JavaScript MooTools  
JavaScript Prototype & Script_aculo_us  
JavaScript YUI  
JavaScript jQuery  
JavaScript

Marcomates Review Remote Bundles  
--------------------------------
JavaScript JSDoc  
JavaScript MooTools  
JavaScript Prototype & Script_aculo_us  
JavaScript  

$ textmate list

Application Bundles  
-------------------
ActionScript  
Apache  
AppleScript  
Blogging  
Bundle Development  
C  
CSS  
... snip ...
User Pristine Bundles  
---------------------

User Bundles  
------------
RSpec  
Ruby Haml  
Ruby Sass  
Ruby  
Rucola  
Treetop

System Pristine Bundles  
-----------------------

System Bundles  
--------------
Ragel  

$ textmate install

Checking out JavaScript jQuery...
svn co http\://macromates.com/svn/Bundles/trunk/Bundles/JavaScript\ jQuery.tmbundle /Users/wycats/Library/Application\ Support/TextMate/Pristine\ Copy/JavaScript\ jQuery.tmbundle 2>&1
A /Users/wycats/Library/Application Support/TextMate/Pristine Copy/JavaScript jQuery.tmbundle/Commands A /Users/wycats/Library/Application Support/TextMate/Pristine Copy/JavaScript jQuery.tmbundle/Commands/Documentation for Word : Selection.tmCommand A /Users/wycats/Library/Application Support/TextMate/Pristine Copy/JavaScript jQuery.tmbundle/Snippets A /Users/wycats/Library/Application Support/TextMate/Pristine Copy/JavaScript jQuery.tmbundle/Snippets/each.tmSnippet A /Users/wycats/Library/Application Support/TextMate/Pristine Copy/JavaScript jQuery.tmbundle/Snippets/clone.tmSnippet ... snip ... Checked out revision 9623. Reloading Bundles...
Done.

$ textmate uninstall "JavaScript Prototype & Script_aculo_us"

Removing bundle...  
Reloading bundles...  
Done.  

Pretty cool, huh? If you want it, do gem install wycats-textmate --source http://gems.github.com.