File tree Expand file tree Collapse file tree 1 file changed +22
-1
lines changed Expand file tree Collapse file tree 1 file changed +22
-1
lines changed Original file line number Diff line number Diff line change @@ -310,12 +310,33 @@ func invoke(cmd *base.Command, args []string) {
310
310
}
311
311
}
312
312
313
- cmd .Flag .Usage = func () { cmd .Usage () }
313
+ // Add --help flag support to all commands
314
+ var helpFlag bool
315
+ if ! cmd .CustomFlags {
316
+ cmd .Flag .BoolVar (& helpFlag , "help" , false , "show help" )
317
+ }
318
+
319
+ cmd .Flag .Usage = func () {
320
+ if helpFlag {
321
+ // Show full help like "go help <command>"
322
+ help .Help (os .Stdout , strings .Fields (cmd .LongName ()))
323
+ base .Exit ()
324
+ } else {
325
+ cmd .Usage ()
326
+ }
327
+ }
314
328
if cmd .CustomFlags {
315
329
args = args [1 :]
316
330
} else {
317
331
base .SetFromGOFLAGS (& cmd .Flag )
318
332
cmd .Flag .Parse (args [1 :])
333
+
334
+ // Check if --help flag was set and show full help
335
+ if helpFlag {
336
+ help .Help (os .Stdout , strings .Fields (cmd .LongName ()))
337
+ base .Exit ()
338
+ }
339
+
319
340
flagCounterPrefix := "go/" + strings .ReplaceAll (cfg .CmdName , " " , "-" ) + "/flag"
320
341
counter .CountFlags (flagCounterPrefix + ":" , cmd .Flag )
321
342
counter .CountFlagValue (flagCounterPrefix + "/" , cmd .Flag , "buildmode" )
You can’t perform that action at this time.
0 commit comments