Sha256: d6de08fd5523ace4c33932b80685d4867c6369a01fe25e4da17a5801d971e643
Contents?: true
Size: 1.46 KB
Versions: 3
Compression:
Stored size: 1.46 KB
Contents
#!/usr/bin/env ruby require 'spruz/go' include Spruz::GO require 'utils' include Utils require 'tempfile' def usage puts <<-EOT Usage: #{File.basename($0)} [OPTS] [PATHES] PATHES are the directory and file pathes that are opened in the vim. Options are -w open a buffer in vim and wait until it is deleted -s read files and files:linenumbers from stdin and open them -p DURATION pause for this many seconds to wait for vim's reaction -h display this help Version is #{File.basename($0)} #{Utils::VERSION}. EOT exit 1 end $opt = go 'wp:sh' $opt['h'] and usage editor = Editor.new do |config| config.wait = $opt['w'] config.pause_duration = ($opt['p'] || 1).to_i end if $opt['s'] begin until STDIN.eof? line = STDIN.gets line = line.sub(/.*?([^:\s]+:)/, '\1') editor.edit(line) end rescue Interrupt exit 1 end else 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 else editor.ensure_running end end unless argv.empty? if editor.file_linenumber?(argv.first) editor.wait = argv.size > 1 for current_file in argv STDOUT.puts "Edit #{current_file}" editor.edit current_file end else editor.edit(*argv) end end end exit 0
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
utils-0.0.21 | bin/edit |
utils-0.0.20 | bin/edit |
utils-0.0.19 | bin/edit |