- Notifications
You must be signed in to change notification settings - Fork0
🖥 Wrap the standard flag package for a cleaner CLI
License
NotificationsYou must be signed in to change notification settings
gowww/cli
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Packagecli wraps the standardflag package for a cleaner command line interface.
Get package:
go get -u github.com/gowww/cli
Import it in your code:
import"github.com/gowww/cli"
Henceforth, by "command" we mean "subcommand" (like thebuild
part ingo build
)…
The order in which you define commands and flags is important!
When you define a main flag, it will be added to the top-level flag set but also to all commands already defined.
Obviously, each command can also define its own flags.
For the sake of clarity for the developer and ease of use for the final user, the usage pattern is simple and always the same :program [command] [flags]
. No flags before command, and no commands of commands.
package mainimport"github.com/gowww/cli"var (flagForMainstring// Flag "-m"flagForCommandstring// Flag "-c"flagForAllstring// Flag "-a")funcmain() {cli.SetUsageText("Command line interface example.")cli.String(&flagForMain,"m","","Example flag for main function.")cli.Command("command",command,"Example command.").String(&flagForCommand,"c","",`Example flag for this command only.`)cli.String(&flagForAll,"a","","Example flag for main function and all commands defined previously.")cli.Parse()}funccommand() {// Do the command job.}
Command line interface example.Usage:example [command] [flags]Commands:command Example command.Flags:-a Example flag for main function and all commands defined previously.-m Example flag for main function.
Example command.Usage:example command [flags]Flags:-a Example flag for main function and all commands defined previously.-c Example flag for this command only.
About
🖥 Wrap the standard flag package for a cleaner CLI
Topics
Resources
License
Stars
Watchers
Forks
Packages0
No packages published