Class | Debugger::ListCommand |
In: |
cli/ruby-debug/commands/list.rb
|
Parent: | Command |
Implements debugger "list" command.
# File cli/ruby-debug/commands/list.rb, line 55 55: def help(cmd) 56: %{ 57: l[ist]\t\tlist forward 58: l[ist] -\tlist backward 59: l[ist] =\tlist current line 60: l[ist] nn-mm\tlist given lines 61: * NOTE - to turn on autolist, use 'set autolist' 62: } 63: end
# File cli/ruby-debug/commands/list.rb, line 16 16: def execute 17: listsize = Command.settings[:listsize] 18: if !@match || !(@match[1] || @match[2]) 19: b = @state.previous_line ? 20: @state.previous_line + listsize : @state.line - (listsize/2) 21: e = b + listsize - 1 22: elsif @match[1] == '-' 23: b = if @state.previous_line 24: if @state.previous_line > 0 25: @state.previous_line - listsize 26: else 27: @state.previous_line 28: end 29: else 30: @state.line - (listsize/2) 31: end 32: e = b + listsize - 1 33: elsif @match[1] == '=' 34: @state.previous_line = nil 35: b = @state.line - (listsize/2) 36: e = b + listsize -1 37: else 38: b, e = @match[2].split(/[-,]/) 39: if e 40: b = b.to_i 41: e = e.to_i 42: else 43: b = b.to_i - (listsize/2) 44: e = b + listsize - 1 45: end 46: end 47: @state.previous_line = display_list(b, e, @state.file, @state.line) 48: end