Currently the code only merges options from class hierarchies where those options do not collide on name.
In some cases it would be useful to actually allow merging options properly e.g. to make a hidden option visible in a derived command or hide an irrelevant (or on by default) option in the derived command. Or a derived command may want to expand on something like the description, add extra synonyms for the option etc.
Obviously care needs to be taken to not merge clearly incompatible options (different types) and not to make non-sensical merges but this seems like this should be doable and very useful.
Currently the code only merges options from class hierarchies where those options do not collide on name.
In some cases it would be useful to actually allow merging options properly e.g. to make a hidden option visible in a derived command or hide an irrelevant (or on by default) option in the derived command. Or a derived command may want to expand on something like the description, add extra synonyms for the option etc.
Obviously care needs to be taken to not merge clearly incompatible options (different types) and not to make non-sensical merges but this seems like this should be doable and very useful.