Documentation ¶
Overview ¶
Package run holds the run.Run construct, which encapsulates CLI state for a command execution.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewContext ¶
NewContext returns ctx with ru added as a value.
func NewQueryContext ¶
func NewQueryContext(ru *Run, args map[string]string) *libsq.QueryContext
NewQueryContext returns a *libsq.QueryContext constructed from ru.
Types ¶
type Run ¶
type Run struct { // Out is the output destination, typically a decorated writer over // [Run.Stdout]. This writer should generally be used for program output, // not [Run.Stdout]. Out io.Writer // Stdout is the original stdout file descriptor, which is typically // the actual os.Stdout. Output should generally be written to [Run.Out] // except for a few rare circumstances, such as executing an external // program. Stdout io.Writer // ErrOut is the error output destination, typically a decorated writer // over [Run.Stderr]. This writer should generally be used for error output, // not [Run.Stderr]. ErrOut io.Writer // Stderr is the original stderr file descriptor, which is typically // the actual os.Stderr. Error output should generally be written to // [Run.ErrOut] except for a few rare circumstances, such as executing an // external program. Stderr io.Writer // ConfigStore manages config persistence. ConfigStore config.Store // Stdin typically is os.Stdin, but can be changed for testing. Stdin *os.File // Cmd is the command instance provided by cobra for // the currently executing command. This field will // be set before the command's runFunc is invoked. Cmd *cobra.Command // Config is the run's config. Config *config.Config // OptionsRegistry is a registry of CLI options.Opt instances. OptionsRegistry *options.Registry // DriverRegistry is a registry of driver implementations. DriverRegistry *driver.Registry // Files manages file access. Files *files.Files // Grips mediates access to driver.Grip instances. Grips *driver.Grips // MDCache caches source metadata. MDCache *mdcache.Cache // Writers holds the various writer types that // the CLI uses to print output. Writers *output.Writers // Cleanup holds cleanup functions, except log closing, which // is held by LogCloser. Cleanup *cleanup.Cleanup // LogCloser contains any log-closing action (such as closing // a log file). It may be nil. Execution of this function // should be more-or-less the final cleanup action performed by the CLI, // and absolutely must happen after all other cleanup actions. LogCloser func() error // Args is the arg slice supplied by cobra for // the currently executing command. This field will // be set before the command's runFunc is invoked. Args []string }
Run is a container for injectable resources passed to all cobra exec funcs. The Close method should be invoked when the Run is no longer needed.
func FromContext ¶
FromContext extracts the Run added to ctx via NewContext.
Click to show internal directories.
Click to hide internal directories.