Sha256: 375c4e3423c66cef27d9128667a58a467dd36bd72c3f6013c67947a42030cc64
Contents?: true
Size: 1.33 KB
Versions: 6
Compression:
Stored size: 1.33 KB
Contents
#!/usr/bin/env ruby require 'spruz/go' include Spruz::GO require 'utils/edit' include Utils::Edit require 'tempfile' $opt = go 'w' vim = locate_vim_binary servername = [ '--servername', "G#{ENV['USER'].upcase}" ] serverlist = `#{vim} -g --serverlist`.split remote = $opt['w'] ? '--remote-wait' : '--remote' argv = ARGV.dup if argv.empty? if !STDIN.tty? file = File.new(File.join(Dir.tmpdir, "edit_tmp.#$$"), 'w') until STDIN.eof? buffer = STDIN.read(8192) file.write buffer end file.close argv << file.path elsif serverlist.member?(servername) system *cmd(vim, '-g', servername, remote, "stupid_trick#{rand}") sleep 1 exec *cmd(vim, '-g', servername, '--remote-send', '<ESC>:bw<CR>') else exec *cmd(vim, '-g', servername, remote) end end unless argv.empty? lineno_re = /^\s*([^:]+):(\d+)/ if argv.first =~ lineno_re for a in argv if a =~ lineno_re system *cmd(vim, '-g', servername, remote, $1) sleep 1 system *cmd(vim, '-g', servername, '--remote-send', "<ESC>:#$2<CR>") else system *cmd(vim, '-g', servername, remote, a) end if a != argv.last STDOUT.print "Press enter to edit the next file." STDOUT.flush STDIN.gets end end else exec *cmd(vim, '-g', servername, remote, *argv) end end exit 0
Version data entries
6 entries across 6 versions & 1 rubygems
Version | Path |
---|---|
utils-0.0.10 | bin/edit |
utils-0.0.8 | bin/edit |
utils-0.0.7 | bin/edit |
utils-0.0.6 | bin/edit |
utils-0.0.5 | bin/edit |
utils-0.0.4 | bin/edit |