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
usageFooter String?
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 an ArgParserException to a UsageException.
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 invokes Command.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 with message.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited