mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-09 13:45:26 +02:00
Handle aliased flags
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -6,6 +6,7 @@ package at
|
||||
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"kitty/tools/cli"
|
||||
"kitty/tools/utils"
|
||||
@@ -25,6 +26,12 @@ func run_CMD_NAME(cmd *cobra.Command, args []string) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func aliasNormalizeFunc_CMD_NAME(f *pflag.FlagSet, name string) pflag.NormalizedName {
|
||||
name = cli.FlagNormalizer(name)
|
||||
ALIAS_NORMALIZE_CODE
|
||||
return pflag.NormalizedName(name)
|
||||
}
|
||||
|
||||
func setup_CMD_NAME(root *cobra.Command) *cobra.Command {
|
||||
ans := cli.CreateCommand(&cobra.Command{
|
||||
Use: "CLI_NAME [options]",
|
||||
@@ -33,6 +40,7 @@ func setup_CMD_NAME(root *cobra.Command) *cobra.Command {
|
||||
RunE: run_CMD_NAME,
|
||||
})
|
||||
ADD_FLAGS_CODE
|
||||
ans.Flags().SetNormalizeFunc(aliasNormalizeFunc_CMD_NAME)
|
||||
|
||||
return ans
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user