Sha256: f2e7714e1349fdf85cee3f8dd894cbad32366ac4c1a93422a02fe11224fb2ec4
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
module Textbringer class BacktraceMode < Mode define_generic_command :jump_to_source_location BACKTRACE_MODE_MAP = Keymap.new BACKTRACE_MODE_MAP.define_key("\C-m", :jump_to_source_location_command) define_syntax :link, /^\S*?:\d+:(?:\d+:)?/ def initialize(buffer) super(buffer) buffer.keymap = BACKTRACE_MODE_MAP end def jump_to_source_location file_name, line_number, column_number = get_source_location if file_name find_file(file_name) goto_line(line_number) forward_char(column_number - 1) end end private def get_source_location @buffer.save_excursion do @buffer.beginning_of_line if @buffer.looking_at?(/^(\S*?):(\d+):(?:(\d+):)?/) file_name = @buffer.match_string(1) line_number = @buffer.match_string(2).to_i column_number = (@buffer.match_string(3) || 1).to_i [file_name, line_number, column_number] else nil end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
textbringer-1.0.1 | lib/textbringer/modes/backtrace_mode.rb |