trackChangedFlags returns a map of flag names that were explicitly set on the command line. This includes both local flags and parent persistent flags.
(cmd *cobra.Command)
| 32 | // trackChangedFlags returns a map of flag names that were explicitly set on the command line. |
| 33 | // This includes both local flags and parent persistent flags. |
| 34 | func trackChangedFlags(cmd *cobra.Command) map[string]bool { |
| 35 | flagsChanged := make(map[string]bool) |
| 36 | cmd.Flags().Visit(func(f *pflag.Flag) { |
| 37 | flagsChanged[f.Name] = true |
| 38 | }) |
| 39 | if cmd.Parent() != nil && cmd.Parent().PersistentFlags() != nil { |
| 40 | cmd.Parent().PersistentFlags().Visit(func(f *pflag.Flag) { |
| 41 | flagsChanged[f.Name] = true |
| 42 | }) |
| 43 | } |
| 44 | return flagsChanged |
| 45 | } |
no test coverage detected