Handle aliased flags

This commit is contained in:
Kovid Goyal
2022-08-17 16:33:41 +05:30
parent 2ca8ae8e5f
commit a32251cab4
4 changed files with 50 additions and 12 deletions

View File

@@ -362,6 +362,10 @@ func show_usage(cmd *cobra.Command, use_pager bool) error {
return nil
}
func FlagNormalizer(name string) string {
return strings.ReplaceAll(name, "_", "-")
}
func CreateCommand(cmd *cobra.Command) *cobra.Command {
cmd.Annotations = make(map[string]string)
if cmd.Run == nil && cmd.RunE == nil {
@@ -379,6 +383,10 @@ func CreateCommand(cmd *cobra.Command) *cobra.Command {
cmd.SilenceUsage = true
cmd.PersistentFlags().SortFlags = false
cmd.Flags().SortFlags = false
cmd.Flags().SetNormalizeFunc(func(fs *pflag.FlagSet, name string) pflag.NormalizedName {
return pflag.NormalizedName(FlagNormalizer(name))
})
cmd.PersistentFlags().SetNormalizeFunc(cmd.Flags().GetNormalizeFunc())
return cmd
}
@@ -402,9 +410,6 @@ func Init(root *cobra.Command) {
root.SetHelpFunc(show_help)
root.SetHelpCommand(&cobra.Command{Hidden: true})
root.CompletionOptions.DisableDefaultCmd = true
root.SetGlobalNormalizationFunc(func(fs *pflag.FlagSet, name string) pflag.NormalizedName {
return pflag.NormalizedName(strings.ReplaceAll(name, "_", "-"))
})
}
func Execute(root *cobra.Command) error {