From 5bb1564575f7aad5c9b9d553b4c50e676bff5824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Wed, 15 Jan 2025 21:00:15 +0100 Subject: [PATCH] commands: Add --printZero to the config command Will include zero config values (e.g. "", 0, false) in the output and will be more verbose, but useful if you cant to discover all available config options. --- commands/config.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/commands/config.go b/commands/config.go index b250fc329bf..89f14e0e6cf 100644 --- a/commands/config.go +++ b/commands/config.go @@ -43,8 +43,9 @@ func newConfigCommand() *configCommand { type configCommand struct { r *rootCommand - format string - lang string + format string + lang string + printZero bool commands []simplecobra.Commander } @@ -78,7 +79,7 @@ func (c *configCommand) Run(ctx context.Context, cd *simplecobra.Commandeer, arg dec.SetIndent("", " ") dec.SetEscapeHTML(false) - if err := dec.Encode(parser.ReplacingJSONMarshaller{Value: config, KeysToLower: true, OmitEmpty: true}); err != nil { + if err := dec.Encode(parser.ReplacingJSONMarshaller{Value: config, KeysToLower: true, OmitEmpty: !c.printZero}); err != nil { return err } @@ -115,6 +116,7 @@ func (c *configCommand) Init(cd *simplecobra.Commandeer) error { cmd.Flags().StringVar(&c.format, "format", "toml", "preferred file format (toml, yaml or json)") _ = cmd.RegisterFlagCompletionFunc("format", cobra.FixedCompletions([]string{"toml", "yaml", "json"}, cobra.ShellCompDirectiveNoFileComp)) cmd.Flags().StringVar(&c.lang, "lang", "", "the language to display config for. Defaults to the first language defined.") + cmd.Flags().BoolVar(&c.printZero, "printZero", false, `include config options with zero values (e.g. false, 0, "") in the output`) _ = cmd.RegisterFlagCompletionFunc("lang", cobra.NoFileCompletions) applyLocalFlagsBuildConfig(cmd, c.r)