CompletionCommandRunner<T> class
abstract
A CommandRunner
that takes care of installing shell completion scripts
and handle completion requests.
It tries to install completion scripts upon any command run.
Adds HandleCompletionRequestCommand to route completion requests to other sub commands.
Adds InstallCompletionFilesCommand to enable the user to manually install completion files.
- Inheritance
-
- Object
- CommandRunner<
T> - CompletionCommandRunner
Constructors
- CompletionCommandRunner(String executableName, String description, {int? usageLineLength, int suggestionDistanceLimit = 2})
-
A
CommandRunner
that takes care of installing shell completion scripts and handle completion requests.
Properties
- argParser → ArgParser
-
The top-level argument parser.
no setterinherited
-
commands
→ Map<
String, Command< T> > -
An unmodifiable view of all top-level commands defined for this runner.
no setterinherited
- completionInstallation → CompletionInstallation
-
The CompletionInstallation used to install completion files.
no setter
- completionInstallationLogger → Logger
-
The
Logger
used to display messages during completion installation.final - completionLogger → Logger
-
The
Logger
used to prompt the completion suggestions.final - description → String
-
A short description of this executable.
finalinherited
- enableAutoInstall → bool
-
Define whether the installation of the completion files should done
automatically upon the first command run.
no setter
-
environmentOverride
↔ Map<
String, String> ? -
Environment map which can be overridden for testing purposes.
getter/setter pair
- executableName → String
-
The name of the executable being run.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- invocation → String
-
A single-line template for how to invoke this executable.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- suggestionDistanceLimit → int
-
The maximum edit distance allowed when suggesting possible intended
commands.
finalinherited
- systemShell → SystemShell?
-
The SystemShell used to determine the current shell.
no setter
- usage → String
-
Generates a string displaying usage information for the executable.
no setterinherited
-
An optional footer for usage.
no setterinherited
Methods
-
addCommand(
Command< T> command) → void -
Adds
Command
as a top-level command to this runner.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
parse(
Iterable< String> args) → ArgResults -
Parses
args
and returns the result, converting anArgParserException
to aUsageException
.inherited -
printUsage(
) → void -
Prints the usage information for this runner.
inherited
-
renderCompletionResult(
CompletionResult completionResult) → void - Renders a CompletionResult into the current system shell.
-
run(
Iterable< String> args) → Future<T?> -
Parses
args
and invokesCommand.run
on the chosen command.inherited -
runCommand(
ArgResults topLevelResults) → Future< T?> -
Runs the command specified by
topLevelResults
.override -
toString(
) → String -
A string representation of this object.
inherited
-
tryInstallCompletionFiles(
Level level, {bool force = false}) → void - Tries to install completion files for the current shell.
-
tryUninstallCompletionFiles(
Level level) → void - Tries to uninstall completion files for the current shell.
-
usageException(
String message) → Never -
Throws a
UsageException
withmessage
.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited