Implements debugger "list" command.
# File cli/ruby-debug/commands/list.rb, line 55 def help(cmd) %Q{ l[ist]\t\tlist forward l[ist] -\tlist backward l[ist] =\tlist current line l[ist] nn-mm\tlist given lines * NOTE - to turn on autolist, use 'set autolist' } end
# File cli/ruby-debug/commands/list.rb, line 51 def help_command 'list' end
# File cli/ruby-debug/commands/list.rb, line 16 def execute listsize = Command.settings[:listsize] if !@match || !(@match[1] || @match[2]) b = @state.previous_line ? @state.previous_line + listsize : @state.line - (listsize/2) e = b + listsize - 1 elsif @match[1] == '-' b = if @state.previous_line if @state.previous_line > 0 @state.previous_line - listsize else @state.previous_line end else @state.line - (listsize/2) end e = b + listsize - 1 elsif @match[1] == '=' @state.previous_line = nil b = @state.line - (listsize/2) e = b + listsize -1 else b, e = @match[2].split(%r[-,]/) if e b = b.to_i e = e.to_i else b = b.to_i - (listsize/2) e = b + listsize - 1 end end @state.previous_line = display_list(b, e, @state.file, @state.line) end
# File cli/ruby-debug/commands/list.rb, line 12 def regexp %r^\s* l(?:ist)? (?:\s*([-=])|\s+(.+))? $/ end