diff options
author | Paul Holzinger <pholzing@redhat.com> | 2022-02-21 16:28:04 +0100 |
---|---|---|
committer | Matthew Heon <mheon@redhat.com> | 2022-02-23 14:32:05 -0500 |
commit | e1d5c812d09295ffa0a0a1d30ffc28b1a504e03d (patch) | |
tree | 47cc0cd23f777286369bf1ec61713b4fbefda518 /cmd | |
parent | 2b85f62a23e592a115fe8cab0c1b1f4b2dda36da (diff) | |
download | podman-e1d5c812d09295ffa0a0a1d30ffc28b1a504e03d.tar.gz podman-e1d5c812d09295ffa0a0a1d30ffc28b1a504e03d.tar.bz2 podman-e1d5c812d09295ffa0a0a1d30ffc28b1a504e03d.zip |
provide better error on invalid flag
Add a extra `See 'podman command --help'` to the error output.
With this patch you now get:
```
$ podman run -h
Error: flag needs an argument: 'h' in -h
See 'podman run --help'
```
Fixes #13082
Fixes #13002
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/podman/main.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cmd/podman/main.go b/cmd/podman/main.go index 9850f5d27..4f8131653 100644 --- a/cmd/podman/main.go +++ b/cmd/podman/main.go @@ -72,6 +72,8 @@ func parseCommands() *cobra.Command { } parent.AddCommand(c.Command) + c.Command.SetFlagErrorFunc(flagErrorFuncfunc) + // - templates need to be set here, as PersistentPreRunE() is // not called when --help is used. // - rootCmd uses cobra default template not ours @@ -84,5 +86,11 @@ func parseCommands() *cobra.Command { os.Exit(1) } + rootCmd.SetFlagErrorFunc(flagErrorFuncfunc) return rootCmd } + +func flagErrorFuncfunc(c *cobra.Command, e error) error { + e = fmt.Errorf("%w\nSee '%s --help'", e, c.CommandPath()) + return e +} |