The registry allows to reuse the same name for multiple plugins, if those
plugins are defined for different classes.
The same holds for predefinitions.
When a plugin is registered with its class and name, the DocStore overwrites any
previous Documentation stored for the same name, but possibly a different class.
Issues:
1. The DocStore overwritting shall not be
2. Ambigious keys are currently resolved through the expected class. This allows
reusing of keys in different context (e.g. max), but at the same time makes
understanding the arguments more confusing.
Solution suggestions:
Make those keys unique. For each cmd line argument, we know now what is means
without thinking about the context. The DocStore issue is also solved. If
multiple plugins have the same name, maybe they should have been given a better
name in the first place.
Shall the keys be unique between predefinitions and registry?
I think no. First, for backwards compatibility, users might have commands
defining known plugin names. Second, if we have ambigouities whether to use a
plugin or a predefinition at some place, we can define the easy rule, prefere
predefinitions, the user could always append '()' to make clear it is a plugin.
This does not infere with the DocStore issue, because predefinitions have
nothing to do with the documentation.
What are your thoughts?
|