From: Sebastien Douheret Date: Tue, 5 Dec 2017 13:56:14 +0000 (+0100) Subject: Support --config option either before or after command verb. X-Git-Tag: v0.1.1~1 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fxds%2Fxds-cli.git;a=commitdiff_plain;h=407b8190b86e31f5e1fbd31fae30dcbf8be36fe6 Support --config option either before or after command verb. --- diff --git a/main.go b/main.go index 197541d..ee0def8 100644 --- a/main.go +++ b/main.go @@ -189,6 +189,19 @@ func main() { initCmdExec(&app.Commands) initCmdMisc(&app.Commands) + // Add --config option to all commands to support --config option either before or after command verb + // IOW support following both syntaxes: + // xds-cli exec --config myprj.conf ... + // xds-cli --config myprj.conf exec ... + for i, cmd := range app.Commands { + if len(cmd.Flags) > 0 { + app.Commands[i].Flags = append(cmd.Flags, cli.StringFlag{Hidden: true, Name: "config, c"}) + } + for j, subCmd := range cmd.Subcommands { + app.Commands[i].Subcommands[j].Flags = append(subCmd.Flags, cli.StringFlag{Hidden: true, Name: "config, c"}) + } + } + sort.Sort(cli.FlagsByName(app.Flags)) sort.Sort(cli.CommandsByName(app.Commands))