Sha256: 358d2341d67cd08afd6d498a761949e2249e0585a6bbf227e6562c6d805dd6fe

Contents?: true

Size: 649 Bytes

Versions: 1

Compression:

Stored size: 649 Bytes

Contents

require 'facets/core/string/margin' # TODO get rid of.

def breakout( error )

  file, line = *error.exception.backtrace[0].split(':')
  line = line.to_i

  puts error

  e = "# DEBUG " + error.to_s
  e.gsub!("`","'")

  e = Regexp.escape(e)

  case ed = ENV['EDITOR']
  when 'vi', 'vim', 'gvim'
    cmd = %[
      |#{ed} -e -s #{file} <<-EOS
      |:#{line}
      |a
      |#{e}
      |.
      |:.,+#{e.size}
      |EOS
      ].margin
  else
    puts "EDITOR environment variable not set"
  end

  system cmd

end

# command-line mode

if __FILE__ == $0

  begin
    load $file = ARGV[0]
  rescue Exception => e
    error = breakout(e)
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
quarry-0.3.0 lib/quarry/breakout.rb