class PryKeybind::InputState

Attributes

pry_instance[R]

Public Class Methods

new(pry_instance) click to toggle source
# File lib/pry-keybind.rb, line 160
def initialize(pry_instance)
  @pry_instance = pry_instance
end
save!(pry_instance) click to toggle source
# File lib/pry-keybind.rb, line 156
def self.save!(pry_instance)
  new(pry_instance).save!
end

Public Instance Methods

restore!(pry_eval: true, readline_buffer: true) click to toggle source
# File lib/pry-keybind.rb, line 171
def restore!(pry_eval: true, readline_buffer: true)
  restore_pry_eval_string if pry_eval
  restore_readline_line_buffer if readline_buffer

  self
end
save!(pry_eval: true, readline_buffer: true) click to toggle source
# File lib/pry-keybind.rb, line 164
def save!(pry_eval: true, readline_buffer: true)
  save_pry_eval_string if pry_eval
  save_readline_line_buffer if readline_buffer

  self
end

Private Instance Methods

restore_pry_eval_string() click to toggle source
# File lib/pry-keybind.rb, line 195
def restore_pry_eval_string
  return false unless @pry_state_saved
  pry_instance.eval_string = @eval_string
  @pry_state_saved = false

  true
end
restore_readline_line_buffer() click to toggle source
# File lib/pry-keybind.rb, line 203
def restore_readline_line_buffer
  return false unless @readline_state_saved

  Pryline.insert_text(@line_buffer)
  Pryline.point = @point

  Pryline.refresh_line
  @readline_state_saved = false

  true
end
save_pry_eval_string() click to toggle source
# File lib/pry-keybind.rb, line 180
def save_pry_eval_string
  @eval_string = pry_instance.eval_string
  @pry_state_saved = true
end
save_readline_line_buffer() click to toggle source
# File lib/pry-keybind.rb, line 185
def save_readline_line_buffer
  @line_buffer, @point = Pryline.line_buffer, Pryline.point
  old_hook = Pryline.pre_input_hook
  Pryline.pre_input_hook = Proc.new do
    restore_readline_line_buffer
    Pryline.pre_input_hook = old_hook
  end
  @readline_state_saved = true
end