Documentation
¶
Index ¶
- Constants
- func AddCommandsToRootCommand(rootCmd *cobra.Command, commands []cmds.Command, aliases []*alias.CommandAlias, ...) error
- func AddGlazedProcessorFlagsToCobraCommand(cmd *cobra.Command, options ...settings.GlazeParameterLayerOption) error
- func BuildCobraCommandAlias(alias *alias.CommandAlias, options ...CobraParserOption) (*cobra.Command, error)
- func BuildCobraCommandFromBareCommand(c cmds.BareCommand, options ...CobraParserOption) (*cobra.Command, error)
- func BuildCobraCommandFromCommand(command cmds.Command, options ...CobraParserOption) (*cobra.Command, error)
- func BuildCobraCommandFromCommandAndFunc(s cmds.Command, run CobraRunFunc, options ...CobraParserOption) (*cobra.Command, error)
- func BuildCobraCommandFromGlazeCommand(cmd_ cmds.GlazeCommand, options ...CobraParserOption) (*cobra.Command, error)
- func BuildCobraCommandFromWriterCommand(s cmds.WriterCommand, options ...CobraParserOption) (*cobra.Command, error)
- func CobraCommandDefaultMiddlewares(parsedCommandLayers *layers.ParsedLayers, cmd *cobra.Command, args []string) ([]cmd_middlewares.Middleware, error)
- func CreateGlazedProcessorFromCobra(cmd *cobra.Command) (*middlewares.TableProcessor, formatters.OutputFormatter, error)
- func GetVerbsFromCobraCommand(cmd *cobra.Command) []string
- func NewCobraCommandFromCommandDescription(description *cmds.CommandDescription) *cobra.Command
- func NewCommandSettingsLayer() (layers.ParameterLayer, error)
- func NewCreateCommandSettingsLayer() (layers.ParameterLayer, error)
- func NewProfileSettingsLayer() (layers.ParameterLayer, error)
- func ParseCommandSettingsLayer(cmd *cobra.Command) (*layers.ParsedLayers, error)
- type CobraMiddlewaresFunc
- type CobraParser
- type CobraParserOption
- func WithCobraMiddlewaresFunc(middlewaresFunc CobraMiddlewaresFunc) CobraParserOption
- func WithCobraShortHelpLayers(layers ...string) CobraParserOption
- func WithCreateCommandSettingsLayer() CobraParserOption
- func WithProfileSettingsLayer() CobraParserOption
- func WithSkipCommandSettingsLayer() CobraParserOption
- type CobraRunFunc
- type CommandSettings
- type CreateCommandSettings
- type ProfileSettings
Constants ¶
const CommandSettingsSlug = "command-settings"
const CreateCommandSettingsSlug = "create-command-settings"
const ProfileSettingsSlug = "profile-settings"
Variables ¶
This section is empty.
Functions ¶
func AddCommandsToRootCommand ¶ added in v0.2.10
func AddCommandsToRootCommand( rootCmd *cobra.Command, commands []cmds.Command, aliases []*alias.CommandAlias, options ...CobraParserOption, ) error
func AddGlazedProcessorFlagsToCobraCommand ¶ added in v0.2.10
func AddGlazedProcessorFlagsToCobraCommand(cmd *cobra.Command, options ...settings.GlazeParameterLayerOption) error
AddGlazedProcessorFlagsToCobraCommand is a helper for cobra centric apps that quickly want to add the glazed processing layer to their CLI flags.
func BuildCobraCommandAlias ¶ added in v0.2.10
func BuildCobraCommandAlias( alias *alias.CommandAlias, options ...CobraParserOption, ) (*cobra.Command, error)
func BuildCobraCommandFromBareCommand ¶ added in v0.2.69
func BuildCobraCommandFromBareCommand(c cmds.BareCommand, options ...CobraParserOption) (*cobra.Command, error)
func BuildCobraCommandFromCommand ¶ added in v0.2.47
func BuildCobraCommandFromCommandAndFunc ¶ added in v0.4.3
func BuildCobraCommandFromCommandAndFunc( s cmds.Command, run CobraRunFunc, options ...CobraParserOption, ) (*cobra.Command, error)
func BuildCobraCommandFromGlazeCommand ¶ added in v0.2.46
func BuildCobraCommandFromGlazeCommand(cmd_ cmds.GlazeCommand, options ...CobraParserOption) (*cobra.Command, error)
func BuildCobraCommandFromWriterCommand ¶ added in v0.2.47
func BuildCobraCommandFromWriterCommand(s cmds.WriterCommand, options ...CobraParserOption) (*cobra.Command, error)
func CobraCommandDefaultMiddlewares ¶ added in v0.4.36
func CobraCommandDefaultMiddlewares( parsedCommandLayers *layers.ParsedLayers, cmd *cobra.Command, args []string, ) ([]cmd_middlewares.Middleware, error)
CobraCommandDefaultMiddlewares is the default implementation for creating the middlewares used in a Cobra command. It handles parsing parameters from Cobra flags, command line arguments, environment variables, and default values. The middlewares gather all these parameters into a ParsedParameters object.
If the commandSettings specify parameters to be loaded from a file, this gets added as a middleware.
func CreateGlazedProcessorFromCobra ¶ added in v0.2.10
func CreateGlazedProcessorFromCobra(cmd *cobra.Command) (*middlewares.TableProcessor, formatters.OutputFormatter, error)
CreateGlazedProcessorFromCobra is a helper for cobra centric apps that quickly want to add the glazed processing layer.
If you are more serious about using glazed, consider using the `cmds.GlazeCommand` and `parameters.ParameterDefinition` abstraction to define your CLI applications, which allows you to use Layers and other nice features of the glazed ecosystem.
If so, use SetupTableProcessor instead, and create a proper glazed.GlazeCommand for your command.
func GetVerbsFromCobraCommand ¶ added in v0.2.55
func NewCobraCommandFromCommandDescription ¶ added in v0.5.3
func NewCobraCommandFromCommandDescription( description *cmds.CommandDescription, ) *cobra.Command
func NewCommandSettingsLayer ¶ added in v0.5.29
func NewCommandSettingsLayer() (layers.ParameterLayer, error)
func NewCreateCommandSettingsLayer ¶ added in v0.5.29
func NewCreateCommandSettingsLayer() (layers.ParameterLayer, error)
func NewProfileSettingsLayer ¶ added in v0.5.29
func NewProfileSettingsLayer() (layers.ParameterLayer, error)
func ParseCommandSettingsLayer ¶ added in v0.5.29
func ParseCommandSettingsLayer(cmd *cobra.Command) (*layers.ParsedLayers, error)
ParseGlazedCommandLayer parses the global glazed settings from the given cobra.Command, if not nil, and from the configured viper config file.
Types ¶
type CobraMiddlewaresFunc ¶ added in v0.4.36
type CobraMiddlewaresFunc func( parsedCommandLayers *layers.ParsedLayers, cmd *cobra.Command, args []string, ) ([]cmd_middlewares.Middleware, error)
CobraMiddlewaresFunc is a function that returns a list of middlewares for a cobra command. It can be used to overload the default middlewares for cobra commands. It is mostly used to add a "load from json" layer set in the GlazedCommandSettings.
type CobraParser ¶ added in v0.2.46
type CobraParser struct { Layers *layers.ParameterLayers // contains filtered or unexported fields }
CobraParser takes a CommandDescription, and hooks it up to a cobra command. It can then be used to parse the cobra flags and arguments back into a set of ParsedLayer and a map[string]interface{} for the lose stuff.
That command however doesn't have a Run* method, which is left to the caller to implement.
This returns a CobraParser that can be used to parse the registered Layers from the description.
func NewCobraParserFromLayers ¶ added in v0.5.3
func NewCobraParserFromLayers( layers *layers.ParameterLayers, options ...CobraParserOption, ) (*CobraParser, error)
NewCobraParserFromLayers creates a new CobraParser instance from a CommandDescription, initializes the underlying cobra.Command, and adds all the parameters specified in the Layers CommandDescription to the cobra command.
func (*CobraParser) AddToCobraCommand ¶ added in v0.5.3
func (c *CobraParser) AddToCobraCommand(cmd *cobra.Command) error
func (*CobraParser) Parse ¶ added in v0.2.46
func (c *CobraParser) Parse( cmd *cobra.Command, args []string, ) (*layers.ParsedLayers, error)
type CobraParserOption ¶ added in v0.4.36
type CobraParserOption func(*CobraParser) error
func WithCobraMiddlewaresFunc ¶ added in v0.4.36
func WithCobraMiddlewaresFunc(middlewaresFunc CobraMiddlewaresFunc) CobraParserOption
func WithCobraShortHelpLayers ¶ added in v0.5.6
func WithCobraShortHelpLayers(layers ...string) CobraParserOption
func WithCreateCommandSettingsLayer ¶ added in v0.5.29
func WithCreateCommandSettingsLayer() CobraParserOption
func WithProfileSettingsLayer ¶ added in v0.5.29
func WithProfileSettingsLayer() CobraParserOption
func WithSkipCommandSettingsLayer ¶ added in v0.5.29
func WithSkipCommandSettingsLayer() CobraParserOption
type CobraRunFunc ¶ added in v0.2.47
type CobraRunFunc func(ctx context.Context, parsedLayers *layers.ParsedLayers) error
type CommandSettings ¶ added in v0.5.29
type CommandSettings struct { PrintYAML bool `glazed.parameter:"print-yaml"` PrintParsedParameters bool `glazed.parameter:"print-parsed-parameters"` LoadParametersFromFile string `glazed.parameter:"load-parameters-from-file"` PrintSchema bool `glazed.parameter:"print-schema"` }
GlazedMinimalCommandSettings contains a subset of the most commonly used settings