Vendor temporarily
This commit is contained in:
1 parent
dd8e532d18
commit
1c02ed9115
4708 files changed
+1226392
-12
No files matched your search
+67
@@ -0,0 +1,67 @@
|
||||
package cli
|
||||
|
||||
import (
|
||||
"github.com/posener/complete"
|
||||
)
|
||||
|
||||
const (
|
||||
// RunResultHelp is a value that can be returned from Run to signal
|
||||
// to the CLI to render the help output.
|
||||
RunResultHelp = -18511
|
||||
)
|
||||
|
||||
// A command is a runnable sub-command of a CLI.
|
||||
type Command interface {
|
||||
// Help should return long-form help text that includes the command-line
|
||||
// usage, a brief few sentences explaining the function of the command,
|
||||
// and the complete list of flags the command accepts.
|
||||
Help() string
|
||||
|
||||
// Run should run the actual command with the given CLI instance and
|
||||
// command-line arguments. It should return the exit status when it is
|
||||
// finished.
|
||||
//
|
||||
// There are a handful of special exit codes this can return documented
|
||||
// above that change behavior.
|
||||
Run(args []string) int
|
||||
|
||||
// Synopsis should return a one-line, short synopsis of the command.
|
||||
// This should be less than 50 characters ideally.
|
||||
Synopsis() string
|
||||
}
|
||||
|
||||
// CommandAutocomplete is an extension of Command that enables fine-grained
|
||||
// autocompletion. Subcommand autocompletion will work even if this interface
|
||||
// is not implemented. By implementing this interface, more advanced
|
||||
// autocompletion is enabled.
|
||||
type CommandAutocomplete interface {
|
||||
// AutocompleteArgs returns the argument predictor for this command.
|
||||
// If argument completion is not supported, this should return
|
||||
// complete.PredictNothing.
|
||||
AutocompleteArgs() complete.Predictor
|
||||
|
||||
// AutocompleteFlags returns a mapping of supported flags and autocomplete
|
||||
// options for this command. The map key for the Flags map should be the
|
||||
// complete flag such as "-foo" or "--foo".
|
||||
AutocompleteFlags() complete.Flags
|
||||
}
|
||||
|
||||
// CommandHelpTemplate is an extension of Command that also has a function
|
||||
// for returning a template for the help rather than the help itself. In
|
||||
// this scenario, both Help and HelpTemplate should be implemented.
|
||||
//
|
||||
// If CommandHelpTemplate isn't implemented, the Help is output as-is.
|
||||
type CommandHelpTemplate interface {
|
||||
// HelpTemplate is the template in text/template format to use for
|
||||
// displaying the Help. The keys available are:
|
||||
//
|
||||
// * ".Help" - The help text itself
|
||||
// * ".Subcommands"
|
||||
//
|
||||
HelpTemplate() string
|
||||
}
|
||||
|
||||
// CommandFactory is a type of function that is a factory for commands.
|
||||
// We need a factory because we may need to setup some state on the
|
||||
// struct that implements the command itself.
|
||||
type CommandFactory func() (Command, error)
|
||||
Reference in new issue
Block a user