use global norm func consistently

This commit is contained in:
Diego Becciolini 2017-10-02 10:00:05 +01:00
parent ac6d398796
commit 5a4acc9325

View file

@ -1133,7 +1133,9 @@ func (c *Command) LocalFlags() *flag.FlagSet {
c.lflags.SetOutput(c.flagErrorBuf) c.lflags.SetOutput(c.flagErrorBuf)
} }
c.lflags.SortFlags = c.Flags().SortFlags c.lflags.SortFlags = c.Flags().SortFlags
c.lflags.SetNormalizeFunc(c.Flags().GetNormalizeFunc()) if c.globNormFunc != nil {
c.lflags.SetNormalizeFunc(c.globNormFunc)
}
addToLocal := func(f *flag.Flag) { addToLocal := func(f *flag.Flag) {
if c.lflags.Lookup(f.Name) == nil && c.parentsPflags.Lookup(f.Name) == nil { if c.lflags.Lookup(f.Name) == nil && c.parentsPflags.Lookup(f.Name) == nil {
@ -1158,7 +1160,9 @@ func (c *Command) InheritedFlags() *flag.FlagSet {
} }
local := c.LocalFlags() local := c.LocalFlags()
c.iflags.SetNormalizeFunc(c.parentsPflags.GetNormalizeFunc()) if c.globNormFunc != nil {
c.iflags.SetNormalizeFunc(c.globNormFunc)
}
c.parentsPflags.VisitAll(func(f *flag.Flag) { c.parentsPflags.VisitAll(func(f *flag.Flag) {
if c.iflags.Lookup(f.Name) == nil && local.Lookup(f.Name) == nil { if c.iflags.Lookup(f.Name) == nil && local.Lookup(f.Name) == nil {
@ -1306,8 +1310,8 @@ func (c *Command) updateParentsPflags() {
c.parentsPflags.SortFlags = false c.parentsPflags.SortFlags = false
} }
if c.HasParent() { if c.globNormFunc != nil {
c.parentsPflags.SetNormalizeFunc(c.Parent().PersistentFlags().GetNormalizeFunc()) c.parentsPflags.SetNormalizeFunc(c.globNormFunc)
} }
c.Root().PersistentFlags().AddFlagSet(flag.CommandLine) c.Root().PersistentFlags().AddFlagSet(flag.CommandLine)