class Textbringer::BacktraceMode

Public Class Methods

new(buffer) click to toggle source
Calls superclass method Textbringer::Mode::new
# File lib/textbringer/modes/backtrace_mode.rb, line 10
def initialize(buffer)
  super(buffer)
  buffer.keymap = BACKTRACE_MODE_MAP
end

Public Instance Methods

jump_to_source_location() click to toggle source
# File lib/textbringer/modes/backtrace_mode.rb, line 15
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 Instance Methods

get_source_location() click to toggle source
# File lib/textbringer/modes/backtrace_mode.rb, line 26
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