mirror of https://github.com/spf13/cobra.git
feat: add getters for flag completions (#1943)
This commit is contained in:
parent
0c72800b8d
commit
bd4d1655f6
|
@ -145,6 +145,25 @@ func (c *Command) RegisterFlagCompletionFunc(flagName string, f func(cmd *Comman
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetFlagCompletion returns the completion function for the given flag, if available.
|
||||||
|
func GetFlagCompletion(flag *pflag.Flag) (func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective), bool) {
|
||||||
|
flagCompletionMutex.RLock()
|
||||||
|
defer flagCompletionMutex.RUnlock()
|
||||||
|
|
||||||
|
completionFunc, exists := flagCompletionFunctions[flag]
|
||||||
|
return completionFunc, exists
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetFlagCompletionByName returns the completion function for the given flag in the command by name, if available.
|
||||||
|
func (c *Command) GetFlagCompletionByName(flagName string) (func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective), bool) {
|
||||||
|
flag := c.Flags().Lookup(flagName)
|
||||||
|
if flag == nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetFlagCompletion(flag)
|
||||||
|
}
|
||||||
|
|
||||||
// Returns a string listing the different directive enabled in the specified parameter
|
// Returns a string listing the different directive enabled in the specified parameter
|
||||||
func (d ShellCompDirective) string() string {
|
func (d ShellCompDirective) string() string {
|
||||||
var directives []string
|
var directives []string
|
||||||
|
|
Loading…
Reference in New Issue