5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/read_source/vim_source.rb', line 5
def vim servername=nil
(file, line_num = send :source_location) || return
read_only = !!/#{ENV["GEM_HOME"]}/.match(file) ? "-M" : ""
remote = "#{('--servername ' + servername.to_s) if servername} --remote-silent"
serverlist = `vim --serverlist`.split("\n")
if serverlist.include?(servername.to_s) || serverlist.include?("VIM")
`#{"vim #{remote} %s +%s %s" % [read_only, line_num, file]}`
:success
else
exec("vim #{remote} %s +%s %s" % [read_only, line_num, file])
end
end
|