frostfs-node/cmd/frostfs-adm/internal/commonflags/auto_complete.go
Alexander Chuprov d76fd9ac75
[#1614] adm/frostfsid: Add 'set-kv'
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-02-06 19:47:17 +03:00

26 lines
615 B
Go

package commonflags
import (
"slices"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
)
func AutoCompleteFlags(cmd *cobra.Command, _ []string, _ string) ([]string, cobra.ShellCompDirective) {
var availableFlags []string
cmd.Flags().VisitAll(func(f *pflag.Flag) {
availableFlags = append(availableFlags, f.Name)
})
var usedFlags []string
cmd.Flags().Visit(func(f *pflag.Flag) {
usedFlags = append(usedFlags, f.Name)
})
unusedFlags := slices.DeleteFunc(availableFlags, func(name string) bool {
return slices.Contains(usedFlags, name)
})
return unusedFlags, cobra.ShellCompDirectiveDefault
}