Class: Toys::Completion::Context
- Inherits:
-
Object
- Object
- Toys::Completion::Context
- Defined in:
- core-docs/toys/completion.rb
Overview
Defined in the toys-core gem
The context in which to determine completion candidates.
Instance Attribute Summary collapse
-
#cli ⇒ Toys::CLI
readonly
The CLI being run.
-
#fragment ⇒ String
readonly
The current string fragment to complete.
-
#fragment_prefix ⇒ String
readonly
A non-completed prefix for the current fragment.
-
#previous_words ⇒ Array<String>
readonly
All previous words.
Instance Method Summary collapse
-
#[](key) ⇒ Object
(also: #get)
Get data for arbitrary key.
-
#arg_parser ⇒ Toys::ArgParser
Current ArgParser indicating the status of argument parsing up to this point.
-
#args ⇒ Array<String>
An array of complete arguments passed to the tool, prior to the fragment to complete.
-
#initialize(cli:, previous_words: [], fragment_prefix: "", fragment: "", **params) ⇒ Context
constructor
Create a completion context.
-
#tool ⇒ Toys::ToolDefinition
The tool being invoked, which should control the completion.
-
#with(**delta_params) ⇒ Toys::Completion::Context
Create a new completion context with the given modifications.
Constructor Details
#initialize(cli:, previous_words: [], fragment_prefix: "", fragment: "", **params) ⇒ Context
Create a completion context.
Extra params are optional and can be used to affect the behavior in specific cases. Currently these are:
shell: :bashcauses the FileSystem completion to include glob expansions, since bash doesn't handle those directlydisable_flags: truecauses tool completion to omit flag completions which is used by thetoys dobuilt-in tool
40 41 42 |
# File 'core-docs/toys/completion.rb', line 40 def initialize(cli:, previous_words: [], fragment_prefix: "", fragment: "", **params) # Source available in the toys-core gem end |
Instance Attribute Details
#cli ⇒ Toys::CLI (readonly)
The CLI being run.
58 59 60 |
# File 'core-docs/toys/completion.rb', line 58 def cli @cli end |
#fragment ⇒ String (readonly)
The current string fragment to complete
76 77 78 |
# File 'core-docs/toys/completion.rb', line 76 def fragment @fragment end |
#fragment_prefix ⇒ String (readonly)
A non-completed prefix for the current fragment.
70 71 72 |
# File 'core-docs/toys/completion.rb', line 70 def fragment_prefix @fragment_prefix end |
#previous_words ⇒ Array<String> (readonly)
All previous words.
64 65 66 |
# File 'core-docs/toys/completion.rb', line 64 def previous_words @previous_words end |
Instance Method Details
#[](key) ⇒ Object Also known as: get
Get data for arbitrary key.
83 84 85 |
# File 'core-docs/toys/completion.rb', line 83 def [](key) # Source available in the toys-core gem end |
#arg_parser ⇒ Toys::ArgParser
Current ArgParser indicating the status of argument parsing up to this point.
111 112 113 |
# File 'core-docs/toys/completion.rb', line 111 def arg_parser # Source available in the toys-core gem end |
#args ⇒ Array<String>
An array of complete arguments passed to the tool, prior to the fragment to complete.
101 102 103 |
# File 'core-docs/toys/completion.rb', line 101 def args # Source available in the toys-core gem end |
#tool ⇒ Toys::ToolDefinition
The tool being invoked, which should control the completion.
92 93 94 |
# File 'core-docs/toys/completion.rb', line 92 def tool # Source available in the toys-core gem end |
#with(**delta_params) ⇒ Toys::Completion::Context
Create a new completion context with the given modifications.
50 51 52 |
# File 'core-docs/toys/completion.rb', line 50 def with(**delta_params) # Source available in the toys-core gem end |