Module: Pry::Prompt
- Defined in:
- lib/pry/prompt.rb
Overview
Prompt represents the Pry prompt, which can be used with Readline-like libraries. It defines a few default prompts (default prompt, simple prompt, etc) and also provides an API to add custom prompts.
Constant Summary collapse
- DEFAULT_NAME =
'pry'.freeze
- SAFE_CONTEXTS =
Returns the list of objects that are known to have a 1-line #inspect output suitable for prompt.
[String, Numeric, Symbol, nil, true, false].freeze
- MAP =
Deprecated.
Use add instead.
{}
Class Method Summary collapse
-
.[](prompt_name) ⇒ Hash{Symbol=>Object}
Retrieves a prompt.
-
.add(prompt_name, description = '', separators = %w[> *]) {|context, nesting, _pry_, sep| ... } ⇒ nil
Adds a new prompt to the prompt hash.
-
.all ⇒ Hash{Symbol=>Hash}
The duplicate of the internal prompts hash.
Class Method Details
.[](prompt_name) ⇒ Hash{Symbol=>Object}
Retrieves a prompt.
47 48 49 |
# File 'lib/pry/prompt.rb', line 47 def [](prompt_name) @prompts[prompt_name.to_s] end |
.add(prompt_name, description = '', separators = %w[> *]) {|context, nesting, _pry_, sep| ... } ⇒ nil
Adds a new prompt to the prompt hash.
73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/pry/prompt.rb', line 73 def add(prompt_name, description = '', separators = %w[> *]) unless separators.size == 2 raise ArgumentError, "separators size must be 2, given #{separators.size}" end @prompts[prompt_name.to_s] = { description: description, value: separators.map do |sep| proc { |context, nesting, _pry_| yield(context, nesting, _pry_, sep) } end } nil end |
.all ⇒ Hash{Symbol=>Hash}
Note:
Use this for read-only operations
Returns the duplicate of the internal prompts hash.
54 55 56 |
# File 'lib/pry/prompt.rb', line 54 def all @prompts.dup end |