This is from "Reformat with JS Beautifier" command:<div><br></div><div>Command(s):</div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">cat > /tmp/reformat_this_file.js<br>

cd "$TM_BUNDLE_SUPPORT/bin/js-beautify/"<br>java -jar ../js.jar beautify-cl.js -n -i 1 /tmp/reformat_this_file.js 2>&1</blockquote><div><br></div><div>Input: Selected Text or Scope</div><div>Output: Replace Selected Text</div>

<div><br></div><div>HTH</div><div><br clear="all">-- Alexey<br>
<br><br><div class="gmail_quote">On Wed, May 5, 2010 at 15:27, Marius Hofert <span dir="ltr"><<a href="mailto:m_hofert@web.de">m_hofert@web.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Dear TextMate experts,<br>
<br>
I would like to execute the shell script myscript.sh from within TextMate. The script myscript.sh takes a file name as argument and does something with the file (it indents the file correctly; for this, it calls emacs in batch mode). So if I use<br>


sh myscript.sh myfile.R<br>
the script works perfectly fine, i.e., it indents the source code contained in myfile.R. I would like to have textmate do this for me on the file I am working on when I use a certain key combination.<br>
<br>
Using the Bundle Editor, I created a new command "tidy" with key equivalent "shift+command+T". As the actual command, I put in:<br>
sh /path_to_my_script/myscript.sh "$TM_FILENAME"<br>
<br>
Unfortunately, this does not work. I set "Input" to "Entire Document" and "Output" to "Replace Document" (currently I obtain an empty document after "shift+command+T").<br>


<br>
How can I trigger the shell script, such that the current content of myfile.R is replaced by the (quietly generated) output of myscript.sh?<br>
<br>
Below is the script<br>
<br>
Many thanks in advance,<br>
<br>
Marius<br>
<br>
<br>
#!/bin/sh<br>
function usage () {<br>
printf "Indent R file with Emacs ESS package.\n"<br>
printf "Usage: $0 FILE\n"<br>
exit 1<br>
}<br>
f=$1<br>
shift<br>
if test "x$f" = x -o "x$f" = "x-h"; then<br>
usage<br>
fi<br>
emacs -batch \<br>
-eval '(load "/usr/local/share/emacs/site-lisp/ess-5.8/lisp/ess-site")' \<br>
-f R-mode \<br>
-eval '(untabify (point-min) (point-max))' \<br>
-eval '(insert-file "'${f}'")' \<br>
-eval '(set-visited-file-name "'"${f}"'")' \<br>
-eval '(indent-region (point-min) (point-max) nil)' \<br>
-f save-buffer \<br>
2>/dev/null<br>
<br>
<br>
_______________________________________________<br>
textmate mailing list<br>
<a href="mailto:textmate@lists.macromates.com">textmate@lists.macromates.com</a><br>
<a href="http://lists.macromates.com/listinfo/textmate" target="_blank">http://lists.macromates.com/listinfo/textmate</a><br>
</blockquote></div><br></div>