Sha256: 2185415f33a8e344a15588f932ddb24523d3f1881b0b61901e04fb8f266a50fc

Contents?: true

Size: 1.55 KB

Versions: 19

Compression:

Stored size: 1.55 KB

Contents

#!/usr/bin/env ruby

require 'tins/xt'
include Tins::GO
require 'utils'
include Utils
require 'tempfile'

def usage
  puts <<-EOT
Usage: #{File.basename($0)} [OPTS] [PATHS]

PATHS are the directory and file paths 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
  -S SERVER   specify the server for this edit command
  -h          display this help

Version is #{File.basename($0)} #{Utils::VERSION}.
  EOT
  exit 1
end

$opt = go 'p:S:wsh'
$opt['h'] and usage

editor = Editor.new do |config|
  config.wait           = $opt['w']
  config.pause_duration = ($opt['p'] || 1).to_i
  s = $opt['S'] and config.servername = s
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

19 entries across 19 versions & 1 rubygems

Version Path
utils-0.0.67 bin/edit
utils-0.0.66 bin/edit
utils-0.0.65 bin/edit
utils-0.0.64 bin/edit
utils-0.0.63 bin/edit
utils-0.0.62 bin/edit
utils-0.0.61 bin/edit
utils-0.0.60 bin/edit
utils-0.0.59 bin/edit
utils-0.0.58 bin/edit
utils-0.0.57 bin/edit
utils-0.0.56 bin/edit
utils-0.0.55 bin/edit
utils-0.0.54 bin/edit
utils-0.0.53 bin/edit
utils-0.0.52 bin/edit
utils-0.0.51 bin/edit
utils-0.0.50 bin/edit
utils-0.0.49 bin/edit