Class: Toys::Utils::CompletionEngine::Base
- Inherits:
-
Object
- Object
- Toys::Utils::CompletionEngine::Base
- Defined in:
- core-docs/toys/utils/completion_engine.rb
Overview
Base class for shell completion engines that use a
COMP_LINE / COMP_POINT protocol.
Completion candidates are always computed as whole words: the entire
word under the cursor is presented to the completion as the fragment,
and each candidate is a replacement for that entire word. A shell that
replaces less than the whole word, because it breaks words at certain
characters, declares those characters in the private method
#word_break_chars, and the candidates are trimmed to match.
Subclasses must implement the private methods #shell_name and
#output_completions, and may override #word_break_chars.
Defined in the toys-core gem
Instance Method Summary collapse
-
#initialize(completion, loader) ⇒ Base
constructor
Create a completion engine.
-
#run ⇒ Integer
Perform completion in the current shell environment, which must include settings for the
COMP_LINEandCOMP_POINTenvironment variables.
Constructor Details
#initialize(completion, loader) ⇒ Base
Create a completion engine.
36 37 38 |
# File 'core-docs/toys/utils/completion_engine.rb', line 36 def initialize(completion, loader) # Source available in the toys-core gem end |
Instance Method Details
#run ⇒ Integer
Perform completion in the current shell environment, which must
include settings for the COMP_LINE and COMP_POINT environment
variables. Prints out completion candidates and returns a status code
indicating the result.
- 0 for success.
- 1 if completion failed.
- 2 if the environment is incorrect (e.g. expected environment variables not found)
53 54 55 |
# File 'core-docs/toys/utils/completion_engine.rb', line 53 def run # Source available in the toys-core gem end |