package shared import ( "github.com/cli/cli/v2/pkg/cmdutil" "github.com/google/shlex" "github.com/spf13/cobra" ) // ExistingCommandFunc returns a function that will check if the given string // corresponds to an existing command. func ExistingCommandFunc(f *cmdutil.Factory, cmd *cobra.Command) func(string) bool { return func(args string) bool { split, err := shlex.Split(args) if err != nil || len(split) == 0 { return false } rootCmd := cmd.Root() cmd, _, err = rootCmd.Traverse(split) if err == nil && cmd != rootCmd { return true } for _, ext := range f.ExtensionManager.List() { if ext.Name() == split[0] { return true } } return false } }