optimus
optimus copied to clipboard
Introduction of global and hiding flags and options
This PR should implement #11.
The current implementation merges global options/flags into all subcommands. On this way collisions can be detected (in case someone tries to redefine a property with the same short/long). In addition, every subcommand is a complete definition which makes parsing of global props easy.
Also I implemented hiding of properties in the same PR because it is used to hide global props in the subcommands. I know some CLI tools like kubectl that do not repeat global properties on the subcommands.