class Byebug::ListCommand

def execute

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(/[-,]/)
    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