Documentation
¶
Overview ¶
Package tool is a harness for writing Go tools.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CommandLineErrorf ¶
CommandLineErrorf is like fmt.Errorf except that it returns a value that triggers printing of the command line help. In general you should use this when generating command line validation errors.
Types ¶
type Application ¶
type Application interface {
// Name returns the application's name. It is used in help and error messages.
Name() string
// Most of the help usage is automatically generated, this string should only
// describe the contents of non flag arguments.
Usage() string
// ShortHelp returns the one line overview of the command.
ShortHelp() string
// DetailedHelp should print a detailed help message. It will only ever be shown
// when the ShortHelp is also printed, so there is no need to duplicate
// anything from there.
// It is passed the flag set so it can print the default values of the flags.
// It should use the flag sets configured Output to write the help to.
DetailedHelp(*flag.FlagSet)
// Run is invoked after all flag processing, and inside the profiling and
// error handling harness.
Run(ctx context.Context, args ...string) error
}
Application is the interface that must be satisfied by an object passed to Main.
type Profile ¶
type Profile struct {
CPU string `flag:"profile.cpu" help:"write CPU profile to this file"`
Memory string `flag:"profile.mem" help:"write memory profile to this file"`
Alloc string `flag:"profile.alloc" help:"write alloc profile to this file"`
Trace string `flag:"profile.trace" help:"write trace log to this file"`
}
Profile can be embedded in your application struct to automatically add command line arguments and handling for the common profiling methods.
type SubCommand ¶
type SubCommand interface {
Parent() string
}
Click to show internal directories.
Click to hide internal directories.