Documentation ¶
Overview ¶
Package cmdmain contains the shared implementation for camget, camput, camtool, and other Camlistore command-line tools.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( FlagVersion = flag.Bool("version", false, "show version") FlagHelp = flag.Bool("help", false, "print usage") FlagVerbose = flag.Bool("verbose", false, "extra debug logging") )
View Source
var ( // ExtraFlagRegistration allows to add more flags from // other packages (with AddFlags) when Main starts. ExtraFlagRegistration = func() {} // PreExit runs after the subcommand, but before Main terminates // with either success or the error from the subcommand. PreExit = func() {} // ExitWithFailure determines whether the command exits // with a non-zero exit status. ExitWithFailure bool // CheckCwd checks the current working directory, and possibly // changes it, or aborts the run if needed. CheckCwd = func() {} // CheckModtime provides a way to check if the currently running binary // is out of date. If it returns an error, the run is aborted. CheckModtime = func() error { return nil } )
View Source
var ( // Indirections for replacement by tests Stderr io.Writer = os.Stderr Stdout io.Writer = os.Stdout Stdin io.Reader = os.Stdin Exit = realExit )
View Source
var ErrUsage = UsageError("invalid command")
Functions ¶
func Main ¶
func Main()
Main is meant to be the core of a command that has subcommands (modes), such as camput or camtool.
func RegisterCommand ¶
func RegisterCommand(mode string, makeCmd func(Flags *flag.FlagSet) CommandRunner)
RegisterCommand adds a mode to the list of modes for the main command. It is meant to be called in init() for each subcommand.
Types ¶
type CommandRunner ¶
CommandRunner is the type that a command mode should implement.
type UsageError ¶
type UsageError string
func (UsageError) Error ¶
func (ue UsageError) Error() string
Click to show internal directories.
Click to hide internal directories.