[TxMt] Changing cursor position from command
Allan Odgaard
throw-away-1 at macromates.com
Wed Feb 14 19:48:48 UTC 2007
On 14. Feb 2007, at 20:19, Kevin Cox wrote:
> Whoops - that was a bit messed up. Here's the ACTUAL finished source
> (which escapes any '$'s other than the $0 it inserts. [...]
We have the e_sn function in lib/escape.rb, this is preferable
because it will do the right thing (i.e. also handle escaping of `
and \).
Here’s an alternative version using e_sn:
#!/usr/bin/env ruby
require "#{ENV['TM_SUPPORT_PATH']}/lib/escape.rb"
line = STDIN.read
if line =~ /\A.*;\Z/
caret = ENV['TM_LINE_INDEX'].to_i
print e_sn(line[0...caret]) + ';${0}' + e_sn(line[caret..-1])
else
print e_sn(line) + ';'
end
I use ${0} instead of $0 incase there is a number to the right of the
caret (the manual isn’t really clear on whether or not $01 is
equivalent to $1 or ${0}1 -- so let’s just avoid ever having that in
a snippet ;) ).
More information about the textmate
mailing list