<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV>There's an initiative to unify the web preview output of all different run tools (RubyMate, PyMate etc) and this is fine and dandy. However, I've been thinking about going a step further and creating a generic "RunMate" that can be configured to capture output and do the stuff the other "Mates" are capable of.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>So attached is a draft version of such a tool called "RunMate.rb". Just drop it in Library/Application Support/TextMate/Support/Bin or where you keep your custom stuff.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>It's used by specifying the following arguments:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>--format=[fmt] <SPAN class="Apple-tab-span" style="white-space:pre">   </SPAN>(fmt can be "gcc", "ruby", "javac" or "haxe" at the moment). </DIV><DIV>--ant<SPAN class="Apple-tab-span" style="white-space:pre">                   </SPAN>(strips the stuff ant adds to its subtools' output)</DIV><DIV>--run=[cmd]<SPAN class="Apple-tab-span" style="white-space:pre">               </SPAN>(run the specified command and capture its output. STDERR and STDOUT are caught automatically)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>So, here's how a java ANT build could look like: RunMate.rb --format=javac --ant --run="ant -s build.xml"</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>And a ruby run thing: RunMate.rb --format=ruby --run="ruby \"$TM_FILEPATH\""</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>I don't know if you believe going forward with this is a worthwhile effort so please give comments and suggestions.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><BR><DIV> <SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><DIV>--</DIV><DIV>Mikael Säker <<A href="mailto:mikael@sicher.org">mikael@sicher.org</A>></DIV><DIV><A href="http://www.sicher.org">http://www.sicher.org</A></DIV></SPAN><DIV><BR class="khtml-block-placeholder"></DIV>"Strangers have the best candy."<BR class="Apple-interchange-newline"></SPAN></SPAN> </DIV></BODY></HTML>