Files
commandkit/identity.go

38 lines
1001 B
Go

package commandkit
import (
"context"
"io"
)
// Identity describes the application or component represented by CommandKit.
//
// Version and Revision are caller supplied metadata. CommandKit does not infer
// them from an executable or mutate them.
type Identity struct {
// Name is the human-readable application or component name.
Name string
// Version is the caller-supplied version string.
Version string
// Revision is the caller-supplied source revision.
Revision string
}
// Streams contains the output destinations associated with a command
// invocation.
type Streams struct {
// Out receives help and command reports.
Out io.Writer
// Err receives diagnostics and usage guidance.
Err io.Writer
}
// Invocation provides execution context and output streams to a command
// handler.
type Invocation struct {
// Context carries caller cancellation and request-scoped values.
Context context.Context
// Streams are the caller-selected output destinations.
Streams Streams
}