class Pry::CommandState

@api private
@since v0.13.0
command.
subsequent command invocations. All state saved here is unique to the
Pry commands can store arbitrary state here. This state persists between
CommandState is a data structure to hold per-command state.

def self.default

def self.default
  @default ||= new
end

def command_struct(command_class)

def command_struct(command_class)
  Struct.new(:command, *command_class.command_options[:state])
    .new(command: command_class)
end

def initialize

def initialize
  @command_state = {}
end

def reset(command_class)

def reset(command_class)
  @command_state[command_class] = command_struct(command_class)
end

def state_for(command_class)

def state_for(command_class)
  @command_state[command_class] ||= command_struct(command_class)
end