From 1b7f6c51bd6c67f02a4d8590c672becd520d7c62 Mon Sep 17 00:00:00 2001 From: Landon Cox Date: Thu, 23 Apr 2026 10:33:28 -0700 Subject: [PATCH] fix: register flag completion functions for config, log-dir, payload-dir, env The previous implementation used MarkFlagFilename/MarkFlagDirname which set annotations but did not register completion functions retrievable via GetFlagCompletionFunc. Switch to RegisterFlagCompletionFunc so the completions are both functional and testable. Fixes TestRegisterFlagCompletions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- internal/cmd/flags.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/internal/cmd/flags.go b/internal/cmd/flags.go index 6a38b329..82047b5c 100644 --- a/internal/cmd/flags.go +++ b/internal/cmd/flags.go @@ -57,11 +57,19 @@ func registerAllFlags(cmd *cobra.Command) { // registerFlagCompletions registers custom completion functions for flags func registerFlagCompletions(cmd *cobra.Command) { - // File and directory completions using idiomatic cobra helpers - cmd.MarkFlagFilename("config", "toml") - cmd.MarkFlagDirname("log-dir") - cmd.MarkFlagDirname("payload-dir") - cmd.MarkFlagFilename("env", "env") + // File and directory completions + cmd.RegisterFlagCompletionFunc("config", func(_ *cobra.Command, _ []string, _ string) ([]string, cobra.ShellCompDirective) { + return []string{"toml"}, cobra.ShellCompDirectiveFilterFileExt + }) + cmd.RegisterFlagCompletionFunc("log-dir", func(_ *cobra.Command, _ []string, _ string) ([]string, cobra.ShellCompDirective) { + return nil, cobra.ShellCompDirectiveFilterDirs + }) + cmd.RegisterFlagCompletionFunc("payload-dir", func(_ *cobra.Command, _ []string, _ string) ([]string, cobra.ShellCompDirective) { + return nil, cobra.ShellCompDirectiveFilterDirs + }) + cmd.RegisterFlagCompletionFunc("env", func(_ *cobra.Command, _ []string, _ string) ([]string, cobra.ShellCompDirective) { + return []string{"env"}, cobra.ShellCompDirectiveFilterFileExt + }) // Enum completions for DIFC flags cmd.RegisterFlagCompletionFunc("guards-mode", cobra.FixedCompletions(