Class Debugger::ListCommand
In: cli/ruby-debug/commands/list.rb
Parent: Command

Implements debugger "list" command.

Methods

execute   help   help_command   regexp  

Public Class methods

[Source]

    # 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

[Source]

    # File cli/ruby-debug/commands/list.rb, line 51
51:       def help_command
52:         'list'
53:       end

Public Instance methods

[Source]

    # 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

[Source]

    # File cli/ruby-debug/commands/list.rb, line 12
12:     def regexp
13:       /^\s* l(?:ist)? (?:\s*([-=])|\s+(.+))? $/x
14:     end

[Validate]