Documentation ¶
Overview ¶
Package ffcli is for building declarative commandline applications.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultUsageFunc ¶
DefaultUsageFunc is the default UsageFunc used for all commands if no custom UsageFunc is provided.
Types ¶
type Command ¶
type Command struct { // Name of the command. Used for sub-command matching, and as a replacement // for Usage, if no Usage string is provided. Required for sub-commands, // optional for the root command. Name string // Usage for this command. Printed at the top of the help output. // Recommended but not required. Should be one line of the form // // cmd [flags] subcmd [flags] <required> [<optional> ...] // Usage string // ShortHelp is printed next to the command name when it appears as a // sub-command, in the help output of its parent command. Recommended. ShortHelp string // LongHelp is printed in the help output, after usage and before flags. // Typically a paragraph or more of prose-like text, providing more explicit // context and guidance than what is implied by flags and arguments. // Optional. LongHelp string // UsageFunc generates a complete usage output, displayed to the user when // the -h flag is passed. The function is invoked with its corresponding // command, and its output should reflect the command's short and long help // strings, subcommands, and available flags. Optional; if not provided, a // suitable, compact default is used. UsageFunc func(*Command) string // FlagSet associated with this command. Optional, but if none is provided, // an empty FlagSet will be defined and attached during Run, so that the -h // flag works as expected. FlagSet *flag.FlagSet // Options provided to ff.Parse when parsing arguments for this command. // Optional. Options []ff.Option // Subcommands accessible underneath (i.e. after) this command. Optional. Subcommands []*Command // Exec is invoked if this command has been determined to be the terminal // command selected by the arguments provided to Run. The args passed to // Exec are the args left over after flags parsing. Optional. // // If Exec returns flag.ErrHelp, Run will behave as if -h were passed and // emit the complete usage output. Exec func(args []string) error }
Command combines a main function with a flag.FlagSet, and zero or more sub-commands. A commandline program can be represented as a declarative tree of commands.
Click to show internal directories.
Click to hide internal directories.