Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide SetKeyDelim #1581

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Provide SetKeyDelim #1581

wants to merge 2 commits into from

Conversation

mfine
Copy link

@mfine mfine commented Jul 5, 2023

Allow the key delimiter to be set on viper objects.

Currently it's not possible to change the key delimiter of viper objects after construction - allow a method to update viper objects after construction similar to SetEnvKeyReplacer.

@CLAassistant
Copy link

CLAassistant commented Jul 5, 2023

CLA assistant check
All committers have signed the CLA.

@github-actions
Copy link

github-actions bot commented Jul 5, 2023

👋 Thanks for contributing to Viper! You are awesome! 🎉

A maintainer will take a look at your pull request 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! ❤️

@sagikazarmark
Copy link
Collaborator

@mfine thanks for opening a PR!

Can you tell me your use case for changing the delimiter?

It was actually a very conscious decision not to allow changing it on the fly as it introduces as kinds of issues with keys created prior to the change.

I'd love to hear your use case though, so we can figure out a solution together.

Thanks!

@mfine
Copy link
Author

mfine commented Jul 21, 2023

@sagikazarmark thanks for the response. Our use case is around existing usage built around the default/global viper object where the . delimiter is problematic: other languages are using a different delimiter and the . is problematic with environment variable names in a lot of contexts. Hence, we were looking for a way to change the delimiter on the default/global viper object without having to change a lot of the existing code.

@sagikazarmark
Copy link
Collaborator

@mfine would it be okay for you if we added it to the global instance only?

I'm not very fond of the idea to be honest and the global Viper instance will probably be gone at some point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants