subcommands golang library
This package permits a Go application to implement subcommands support similar to what is supported by the 'go' tool.
The library is designed so that the test cases can run concurrently. Using global flags variables is discouraged to keep your program testable conccurently.
The intented command is found via heuristic search;
- exact match
- unique prefix, e.g.
longcommandas long as there's no command with the same prefix.
- case insensitivity; for those weird enough to use Upper Cased Commands.
- levenshtein distance;
longcmomandwill properly trigger
sample-simplefor a barebone sample skeleton usable as-is.
sample-complexfor a complex sample using advanced features.
- See module
subcommands/subcommandstestfor tools to help testing an application using subcommands. One of the main benefit is t.Parallel() just works, because subcommands help wrapping global variables.