Documentation
¶
Index ¶
- Constants
- type Arg
- type CommandContext
- type CustomArgsProvider
- type CustomFlagArgsProvider
- type CustomGeneratorProvider
- type CustomSuggestionProvider
- type Customizations
- func (c *Customizations) GetCommandArgGenerator(ctx *CommandContext, argName string) string
- func (c *Customizations) GetCommandArgs(ctx *CommandContext) []Arg
- func (c *Customizations) GetFlagArgs(ctx *FlagContext) *Arg
- func (c *Customizations) GetFlagGenerator(ctx *FlagContext) string
- func (c *Customizations) GetSuggestions(ctx *FlagContext) []string
- type ExtensionMetadataProvider
- type FlagContext
- type Option
- type Spec
- type SpecBuilder
- type Subcommand
Constants ¶
const ( // FigGenListEnvironments generates suggestions from available azd environments FigGenListEnvironments = "azdGenerators.listEnvironments" // FigGenListEnvironmentVariables generates suggestions from environment variables FigGenListEnvironmentVariables = "azdGenerators.listEnvironmentVariables" // FigGenListTemplates generates suggestions from available azd templates FigGenListTemplates = "azdGenerators.listTemplates" // FigGenListTemplateTags generates suggestions from all available template tags FigGenListTemplateTags = "azdGenerators.listTemplateTags" // FigGenListTemplatesFiltered generates suggestions from templates filtered by --filter flag FigGenListTemplatesFiltered = "azdGenerators.listTemplatesFiltered" // FigGenListExtensions generates suggestions from all available extensions FigGenListExtensions = "azdGenerators.listExtensions" // FigGenListInstalledExtensions generates suggestions from installed extensions only FigGenListInstalledExtensions = "azdGenerators.listInstalledExtensions" // FigGenListConfigKeys generates suggestions from available azd config keys FigGenListConfigKeys = "azdGenerators.listConfigKeys" )
Fig generator names used for dynamic autocomplete suggestions. These constants map to the TypeScript generator implementations defined in resources/figspec-generators.ts. The constant names should match the keys in the azdGenerators object (e.g., FigGenListEnvironments -> listEnvironments).
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Arg ¶
type Arg struct {
Name string
Description string
IsOptional bool
Suggestions []string
Generator string
Template string
}
Arg represents an argument in the Fig spec
type CommandContext ¶
type CommandContext struct {
Command *cobra.Command
CommandPath string
Parent *CommandContext
}
CommandContext contains information about a command for custom processing
type CustomArgsProvider ¶
type CustomArgsProvider interface {
// GetCommandArgs returns custom argument specifications for a command if applicable
// Returns nil if no custom args are needed (default parsing will be used)
GetCommandArgs(ctx *CommandContext) []Arg
}
CustomArgsProvider provides custom argument specifications for specific commands
type CustomFlagArgsProvider ¶
type CustomFlagArgsProvider interface {
// GetFlagArgs returns custom argument specification for a flag if applicable
// Returns nil if no custom args are needed (default parsing will be used)
GetFlagArgs(ctx *FlagContext) *Arg
}
CustomFlagArgsProvider provides custom argument specifications for specific flags
type CustomGeneratorProvider ¶
type CustomGeneratorProvider interface {
// GetCommandArgGenerator returns a generator name for a specific command argument if applicable
// argName is the name of the argument extracted from the command's Use field
// Returns empty string if no custom generator is needed
GetCommandArgGenerator(ctx *CommandContext, argName string) string
// GetFlagGenerator returns a generator name for a flag's argument if applicable
// Returns empty string if no custom generator is needed
GetFlagGenerator(ctx *FlagContext) string
}
CustomGeneratorProvider provides custom generator names for specific arguments
type CustomSuggestionProvider ¶
type CustomSuggestionProvider interface {
// GetSuggestions returns custom suggestions for a flag if applicable
// Returns nil if no custom suggestions are needed
GetSuggestions(ctx *FlagContext) []string
}
CustomSuggestionProvider provides custom suggestions for specific flags
type Customizations ¶
type Customizations struct{}
azd-specific customizations for Fig spec generation
func (*Customizations) GetCommandArgGenerator ¶
func (c *Customizations) GetCommandArgGenerator(ctx *CommandContext, argName string) string
GetCommandArgGenerator returns the Fig generator name for dynamically completing command arguments
func (*Customizations) GetCommandArgs ¶
func (c *Customizations) GetCommandArgs(ctx *CommandContext) []Arg
GetCommandArgs returns custom argument specifications for commands with complex arg patterns
func (*Customizations) GetFlagArgs ¶
func (c *Customizations) GetFlagArgs(ctx *FlagContext) *Arg
GetFlagArgs returns custom argument names/descriptions for flags (e.g., "image-tag" instead of "from-package")
func (*Customizations) GetFlagGenerator ¶
func (c *Customizations) GetFlagGenerator(ctx *FlagContext) string
GetFlagGenerator returns the Fig generator name for dynamically completing flag arguments
func (*Customizations) GetSuggestions ¶
func (c *Customizations) GetSuggestions(ctx *FlagContext) []string
GetSuggestions returns static suggestion values for flags that accept a fixed set of options
type ExtensionMetadataProvider ¶
type ExtensionMetadataProvider interface {
// HasMetadataCapability checks if the extension has the metadata capability
HasMetadataCapability(extensionId string) bool
// LoadMetadata loads the cached metadata for an extension by its ID
LoadMetadata(extensionId string) (*extensions.ExtensionCommandMetadata, error)
}
ExtensionMetadataProvider provides extension metadata for generating figspec completions
type FlagContext ¶
FlagContext contains information about a flag for custom processing
type Option ¶
type Option struct {
Name []string
Description string
Args []Arg
IsPersistent bool
IsRepeatable bool
IsRequired bool
IsDangerous bool
Hidden bool
}
Option represents a flag/option in the Fig spec
type Spec ¶
type Spec struct {
Name string
Description string
Subcommands []Subcommand
Options []Option
Args []Arg
}
Spec represents a Fig autocomplete specification
func (*Spec) ToTypeScript ¶
ToTypeScript converts the spec to TypeScript code
type SpecBuilder ¶
type SpecBuilder struct {
// contains filtered or unexported fields
}
SpecBuilder builds Fig autocomplete specifications from Cobra commands. Note: This is different from Fig's concept of "generators" which are dynamic completion functions.
func NewSpecBuilder ¶
func NewSpecBuilder(includeHidden bool) *SpecBuilder
NewSpecBuilder creates a new Fig spec builder
func (*SpecBuilder) BuildSpec ¶
func (sb *SpecBuilder) BuildSpec(root *cobra.Command) *Spec
BuildSpec generates a Fig spec from a Cobra root command
func (*SpecBuilder) WithExtensionMetadata ¶
func (sb *SpecBuilder) WithExtensionMetadata(provider ExtensionMetadataProvider) *SpecBuilder
WithExtensionMetadata sets the extension metadata provider for the builder. When set, the builder will use extension metadata to generate full command trees for extensions that have the metadata capability.
type Subcommand ¶
type Subcommand struct {
Name []string
Description string
Subcommands []Subcommand
Options []Option
Args []Arg
Hidden bool
}
Subcommand represents a subcommand in the Fig spec