From 1f8455412dac39b74e20b5c044c2cd6430f9a082 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Wed, 15 Jul 2026 12:14:37 -0400 Subject: [PATCH] cli: add completion command --- internal/cli/completion.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 internal/cli/completion.go diff --git a/internal/cli/completion.go b/internal/cli/completion.go new file mode 100644 index 0000000..2c0cc64 --- /dev/null +++ b/internal/cli/completion.go @@ -0,0 +1,29 @@ +package cli + +import ( + "fmt" + "os" + + "github.com/spf13/cobra" +) + +var completionCmd = &cobra.Command{ + Use: "completion [bash|zsh|fish|powershell]", + Short: "Generate shell completion script", + Args: cobra.ExactArgs(1), + ValidArgs: []string{"bash", "zsh", "fish", "powershell"}, + RunE: func(_ *cobra.Command, args []string) error { + switch args[0] { + case "bash": + return rootCmd.GenBashCompletion(os.Stdout) + case "zsh": + return rootCmd.GenZshCompletion(os.Stdout) + case "fish": + return rootCmd.GenFishCompletion(os.Stdout, true) + case "powershell": + return rootCmd.GenPowerShellCompletion(os.Stdout) + default: + return fmt.Errorf("unsupported shell %q", args[0]) + } + }, +} -- 2.51.2