@@ -151,9 +151,24 @@ func (self *defaultFrontend) addExecutableCommands() {
151
151
// new ways to handle flags
152
152
self .processFlags (checkFlags , group , name , cmd , flags , exclusiveFlags , groupFlags )
153
153
154
- cmd .ValidArgsFunction = func (cmd * cobra.Command , args []string , toComplete string ) ([]string , cobra.ShellCompDirective ) {
154
+ cmd .ValidArgsFunction = func (c * cobra.Command , args []string , toComplete string ) ([]string , cobra.ShellCompDirective ) {
155
155
if len (validArgsCmd ) > 0 {
156
- output , err := self .executeValidArgsOfCommand (group , name , args )
156
+ var originalArgs = args
157
+ if checkFlags {
158
+ c .LocalFlags ().VisitAll (func (flag * pflag.Flag ) {
159
+ switch flag .Value .Type () {
160
+ case "bool" :
161
+ if flag .Value .String () == "true" {
162
+ originalArgs = append (originalArgs , fmt .Sprintf ("--%s" , flag .Name ))
163
+ }
164
+ default :
165
+ if flag .Value .String () != "" {
166
+ originalArgs = append (originalArgs , fmt .Sprintf ("--%s" , flag .Name ), flag .Value .String ())
167
+ }
168
+ }
169
+ })
170
+ }
171
+ output , err := self .executeValidArgsOfCommand (group , name , originalArgs )
157
172
if err != nil {
158
173
return []string {}, cobra .ShellCompDirectiveNoFileComp
159
174
}
0 commit comments