Preflight Checklist
- [X] I have searched the issue tracker for an issue that matches the one I want to file, without success.
Problem Description
When you define pflags like so:
rootCmd.PersistentFlags().StringVar(&opts.Color.Comment, "color-comment", defaultColorComment, fmt.Sprintf("Hex RGB color code for comments e.g., %q.", defaultColorComment))
rootCmd.PersistentFlags().StringVar(&opts.Color.Error, "color-error", defaultColorError, fmt.Sprintf("Hex RGB color code for errors e.g., %q.", defaultColorError))
v.BindPFlags(rootCmd.PersistentFlags())
The flag name e.g., "color-comment" is not automatically matched to a section like so:
color:
comment: "#00ff00"
Proposed Solution
When calling BindPFlags
, any long name that is separated by certain characters e.g., "-" or ".", would automatically consider any prefixes to be a section e.g.,
"foo-bar-baz" would look for:
foo:
bar:
baz: ""
To avoid backcompat issues, this could be an Option
set either in NewWithOptions
or via explicit function call.
Alternatives Considered
No response
Additional Information
There is a workaround after reading https://github.com/spf13/viper/issues/375#issuecomment-1437792936, but it requires binding individual flags.
Comment From: github-actions[bot]
👋 Thanks for reporting!
A maintainer will take a look at your issue shortly. 👀
In the meantime: We are working on Viper v2 and we would love to hear your thoughts about what you like or don't like about Viper, so we can improve or fix those issues.
⏰ If you have a couple minutes, please take some time and share your thoughts: https://forms.gle/R6faU74qPRPAzchZ9
📣 If you've already given us your feedback, you can still help by spreading the news, either by sharing the above link or telling people about this on Twitter:
https://twitter.com/sagikazarmark/status/1306904078967074816
Thank you! ❤️
Comment From: github-actions[bot]
Issues with no activity for 30 days are marked stale and subject to being closed.