Documentation ¶
Index ¶
- func ParseCommandFromMap(description *CommandDescription, m map[string]interface{}) (map[string]*layers.ParsedParameterLayer, map[string]interface{}, error)
- type BareCommand
- type Command
- type CommandDescription
- func (c *CommandDescription) Clone(cloneFlagsAndArguments bool, options ...CommandDescriptionOption) *CommandDescription
- func (cd *CommandDescription) Description() *CommandDescription
- func (c *CommandDescription) GetArgumentMap() map[string]*parameters.ParameterDefinition
- func (c *CommandDescription) GetFlagMap() map[string]*parameters.ParameterDefinition
- func (cd *CommandDescription) ToYAML(w io.Writer) error
- type CommandDescriptionOption
- func WithArguments(a ...*parameters.ParameterDefinition) CommandDescriptionOption
- func WithFlags(f ...*parameters.ParameterDefinition) CommandDescriptionOption
- func WithLayers(l ...layers.ParameterLayer) CommandDescriptionOption
- func WithLayout(l *layout.Layout) CommandDescriptionOption
- func WithLong(s string) CommandDescriptionOption
- func WithName(s string) CommandDescriptionOption
- func WithParents(p ...string) CommandDescriptionOption
- func WithPrependParents(p ...string) CommandDescriptionOption
- func WithPrependSource(s string) CommandDescriptionOption
- func WithReplaceArguments(args ...*parameters.ParameterDefinition) CommandDescriptionOption
- func WithReplaceFlags(flags ...*parameters.ParameterDefinition) CommandDescriptionOption
- func WithReplaceLayers(layers_ ...layers.ParameterLayer) CommandDescriptionOption
- func WithShort(s string) CommandDescriptionOption
- func WithSource(s string) CommandDescriptionOption
- func WithStripParentsPrefix(prefixes []string) CommandDescriptionOption
- type ExitWithoutGlazeError
- type GlazeCommand
- type TemplateCommand
- type TemplateCommandDescription
- type TemplateCommandLoader
- type WriterCommand
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseCommandFromMap ¶ added in v0.4.10
func ParseCommandFromMap(description *CommandDescription, m map[string]interface{}) ( map[string]*layers.ParsedParameterLayer, map[string]interface{}, error, )
Types ¶
type BareCommand ¶ added in v0.2.46
type Command ¶
type Command interface { Description() *CommandDescription ToYAML(w io.Writer) error }
type CommandDescription ¶
type CommandDescription struct { Name string `yaml:"name"` Short string `yaml:"short"` Long string `yaml:"long,omitempty"` Layout []*layout.Section `yaml:"layout,omitempty"` Flags []*parameters.ParameterDefinition `yaml:"flags,omitempty"` Arguments []*parameters.ParameterDefinition `yaml:"arguments,omitempty"` Layers []layers.ParameterLayer `yaml:"layers,omitempty"` AdditionalData map[string]interface{} `yaml:"additionalData,omitempty"` Parents []string `yaml:",omitempty"` // Source indicates where the command was loaded from, to make debugging easier. Source string `yaml:",omitempty"` }
CommandDescription contains the necessary information for registering a command with cobra. Because a command gets registered in a verb tree, a full list of Parents all the way to the root needs to be provided.
func NewCommandDescription ¶ added in v0.2.10
func NewCommandDescription(name string, options ...CommandDescriptionOption) *CommandDescription
func (*CommandDescription) Clone ¶ added in v0.2.25
func (c *CommandDescription) Clone(cloneFlagsAndArguments bool, options ...CommandDescriptionOption) *CommandDescription
func (*CommandDescription) Description ¶ added in v0.4.0
func (cd *CommandDescription) Description() *CommandDescription
func (*CommandDescription) GetArgumentMap ¶ added in v0.4.10
func (c *CommandDescription) GetArgumentMap() map[string]*parameters.ParameterDefinition
func (*CommandDescription) GetFlagMap ¶ added in v0.2.54
func (c *CommandDescription) GetFlagMap() map[string]*parameters.ParameterDefinition
type CommandDescriptionOption ¶ added in v0.2.10
type CommandDescriptionOption func(*CommandDescription)
func WithArguments ¶ added in v0.2.10
func WithArguments(a ...*parameters.ParameterDefinition) CommandDescriptionOption
func WithFlags ¶ added in v0.2.10
func WithFlags(f ...*parameters.ParameterDefinition) CommandDescriptionOption
func WithLayers ¶ added in v0.2.10
func WithLayers(l ...layers.ParameterLayer) CommandDescriptionOption
func WithLayout ¶ added in v0.2.70
func WithLayout(l *layout.Layout) CommandDescriptionOption
func WithLong ¶ added in v0.2.10
func WithLong(s string) CommandDescriptionOption
func WithName ¶ added in v0.2.25
func WithName(s string) CommandDescriptionOption
func WithParents ¶ added in v0.2.10
func WithParents(p ...string) CommandDescriptionOption
func WithPrependParents ¶ added in v0.2.27
func WithPrependParents(p ...string) CommandDescriptionOption
func WithPrependSource ¶ added in v0.2.27
func WithPrependSource(s string) CommandDescriptionOption
func WithReplaceArguments ¶ added in v0.2.25
func WithReplaceArguments(args ...*parameters.ParameterDefinition) CommandDescriptionOption
func WithReplaceFlags ¶ added in v0.2.25
func WithReplaceFlags(flags ...*parameters.ParameterDefinition) CommandDescriptionOption
func WithReplaceLayers ¶ added in v0.2.25
func WithReplaceLayers(layers_ ...layers.ParameterLayer) CommandDescriptionOption
func WithShort ¶ added in v0.2.10
func WithShort(s string) CommandDescriptionOption
func WithSource ¶ added in v0.2.10
func WithSource(s string) CommandDescriptionOption
func WithStripParentsPrefix ¶ added in v0.2.27
func WithStripParentsPrefix(prefixes []string) CommandDescriptionOption
type ExitWithoutGlazeError ¶ added in v0.2.16
type ExitWithoutGlazeError struct{}
func (*ExitWithoutGlazeError) Error ¶ added in v0.2.16
func (e *ExitWithoutGlazeError) Error() string
type GlazeCommand ¶ added in v0.2.45
type GlazeCommand interface { Command // Run is called to actually execute the command. // // NOTE(manuel, 2023-02-27) We can probably simplify this to only take parsed layers // // The ps and GlazeProcessor calls could be replaced by a GlazeCommand specific layer, // which would allow the GlazeCommand to parse into a specific struct. The GlazeProcessor // is just something created by the passed in GlazeLayer anyway. // // When we are just left with building a convenience wrapper for Glaze based commands, // instead of forcing it into the upstream interface. // // https://github.com/go-go-golems/glazed/issues/217 // https://github.com/go-go-golems/glazed/issues/216 // See https://github.com/go-go-golems/glazed/issues/173 Run( ctx context.Context, parsedLayers map[string]*layers.ParsedParameterLayer, ps map[string]interface{}, gp middlewares.Processor, ) error }
type TemplateCommand ¶ added in v0.4.12
type TemplateCommand struct { *CommandDescription Template string }
func (*TemplateCommand) IsValid ¶ added in v0.4.12
func (t *TemplateCommand) IsValid() bool
func (*TemplateCommand) RunIntoWriter ¶ added in v0.4.12
func (t *TemplateCommand) RunIntoWriter( ctx context.Context, parsedLayers map[string]*layers.ParsedParameterLayer, ps map[string]interface{}, w io.Writer, ) error
type TemplateCommandDescription ¶ added in v0.4.12
type TemplateCommandDescription struct { Name string `yaml:"name"` Short string `yaml:"short"` Long string `yaml:"long,omitempty"` Layout []*layout.Section `yaml:"layout,omitempty"` Flags []*parameters.ParameterDefinition `yaml:"flags,omitempty"` Arguments []*parameters.ParameterDefinition `yaml:"arguments,omitempty"` Layers []layers.ParameterLayer `yaml:"layers,omitempty"` Template string `yaml:"template"` }
type TemplateCommandLoader ¶ added in v0.4.12
type TemplateCommandLoader struct{}
func (*TemplateCommandLoader) LoadCommandFromYAML ¶ added in v0.4.12
func (tcl *TemplateCommandLoader) LoadCommandFromYAML( s io.Reader, options ...CommandDescriptionOption, ) ([]Command, error)
Click to show internal directories.
Click to hide internal directories.