[TxMt] Re: hightlight macro

Scott Haneda talklists at newgeo.com
Fri May 8 00:17:54 UTC 2009


On May 7, 2009, at 2:21 AM, baptiste auguie wrote:

> I'm using a command line to create a html snippet with embedded css  
> to post on a Wiki. At the moment I run,
>
> highlight test.r -H --inline-css  --fragment  --enclose-pre   -- 
> style print | pbcopy
>
> on the command line. I'd like to create a macro in TM so that I can  
> get the same processing applied to selected text in a document. I've  
> never written any TM macro and I don't know Ruby (or bash for that  
> matter). Would you be kind enough to help me out?


I am a little confused of the command line above.  Are you passing a  
file to it?  It looks to me like you call a command named highlight  
and give it test.r as the file, with some options, and then pass that  
to the pasteboard?

I think I can help you, but this is one of very few bundle items I  
have made.  Open your bundle editor, and click bottom left to make a  
new command.

I am going to mimic your command with a simple command in the shell of  
`ls -la path-name` which will just output a listing of a path.

I called my command "z".
Set Save to: "nothing"
Set the command to:
      #!/bin/bash
      /bin/ls -la "$TM_SELECTED_TEXT"
* I think using full paths to your binary/commands is safest

Set Input to: "Selected Text" or "Nothing"
Output to: "Replace Selected Text"

You can adjust these accordingly, ask if you have questions about the  
behavior.

For the scope I put it to "text.html", which I believe means it will  
apply to any html scope I am working in, but could also apply to more,  
I am not entirely clear on this aspect.

If I now move to a TM document, enter in a path, select that path, and  
run the bundle from the menu, it will pass the selected text into the  
command.  You can assign a keyboard shortcut to it as well.

A test I did was to enter in
/etc
in TM, run the "z" command, the bundle replaced "/etc" with:
lrwxr-xr-x@ 1 root  admin  11 Jan  1 21:34 /etc -> private/etc

For some reason, I can not get ~ style paths to work:
~/Desktop
ls: ~/Desktop: No such file or directory

ehco $PATH works just fine, and echo ~ as a bundle command also works,  
so I am a little confused on why a ~/path does not work.

Hope that helps.
-- 
Scott * If you contact me off list replace talklists@ with scott@ *




More information about the textmate mailing list