| 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