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

Plugins: add map to store arbitrary data in Command #2083

Open
rsteube opened this issue Nov 30, 2023 · 1 comment
Open

Plugins: add map to store arbitrary data in Command #2083

rsteube opened this issue Nov 30, 2023 · 1 comment

Comments

@rsteube
Copy link
Contributor

rsteube commented Nov 30, 2023

Similar to Command.Annotations add a map[string]interface{} to store data that shares the lifetime of the Command.

related #2019

@maxlandon
Copy link

maxlandon commented Dec 1, 2023

Allowing myself to add some content/arguments to this:

In the frame of the proposal/ideas put forth in #2019, and in order to make cobra completely agnostic to the "execution runtime" (that is, agnostic to how many times the commands might be ran), some side-projects such as the carapace one might need to store completion objects along with commands themselves, so that garbage collection of the commands is possible along with all their side-stuff.

This map would thus enable those projects to more easily and efficiently attach important stuff to commands.

The map would be actually just that: a map. Users would be in charge of initializing it and ensuring it is before access/use.
This would be strictly identical to command.Annotations.

To conclude, this feature request is very small and simple (adding a simple map struct field), but might have enormous use to many library consumers/side-projects.

Hopeful to see this included in the next release !

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

No branches or pull requests

2 participants