Skip to content
1 change: 1 addition & 0 deletions cli/azd/.vscode/cspell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ words:
- bubbletea
- lipgloss
- gopxl
- subcmd
languageSettings:
- languageId: go
ignoreRegExpList:
Expand Down
20 changes: 14 additions & 6 deletions cli/azd/cmd/completion.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (

"github.com/azure/azure-dev/cli/azd/cmd/actions"
"github.com/azure/azure-dev/cli/azd/internal/figspec"
"github.com/azure/azure-dev/cli/azd/pkg/extensions"
"github.com/azure/azure-dev/cli/azd/pkg/output"
"github.com/spf13/cobra"
)
Expand Down Expand Up @@ -140,14 +141,20 @@ func newCompletionFigFlags(cmd *cobra.Command) *completionFigFlags {
}

type completionFigAction struct {
flags *completionFigFlags
cmd *cobra.Command
flags *completionFigFlags
cmd *cobra.Command
extensionManager *extensions.Manager
}

func newCompletionFigAction(cmd *cobra.Command, flags *completionFigFlags) actions.Action {
func newCompletionFigAction(
cmd *cobra.Command,
flags *completionFigFlags,
extensionManager *extensions.Manager,
) actions.Action {
return &completionFigAction{
flags: flags,
cmd: cmd,
flags: flags,
cmd: cmd,
extensionManager: extensionManager,
}
}

Expand Down Expand Up @@ -179,7 +186,8 @@ func (a *completionFigAction) Run(ctx context.Context) (*actions.ActionResult, e
rootCmd := a.cmd.Root()

// Generate the Fig spec
builder := figspec.NewSpecBuilder(a.flags.includeHidden)
builder := figspec.NewSpecBuilder(a.flags.includeHidden).
WithExtensionMetadata(a.extensionManager)
spec := builder.BuildSpec(rootCmd)

// Convert to TypeScript
Expand Down
11 changes: 3 additions & 8 deletions cli/azd/cmd/figspec_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"testing"
"time"

"github.com/azure/azure-dev/cli/azd/internal/figspec"
"github.com/azure/azure-dev/cli/azd/test/azdcli"
"github.com/azure/azure-dev/cli/azd/test/snapshot"
"github.com/stretchr/testify/require"
Expand Down Expand Up @@ -45,14 +44,10 @@ func TestFigSpec(t *testing.T) {
uninstallAllExtensions(ctx, t, cli)
})

root := NewRootCmd(false, nil, nil)

builder := figspec.NewSpecBuilder(false)
spec := builder.BuildSpec(root)

typescript, err := spec.ToTypeScript()
// Generate the Fig spec using CLI command
result, err := cli.RunCommand(t.Context(), "completion", "fig")
require.NoError(t, err)

snapshotter := snapshot.NewConfig(".ts")
snapshotter.SnapshotT(t, typescript)
snapshotter.SnapshotT(t, result.Stdout)
}
Loading
Loading