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

More application-level customisation #10

Open
seeruk opened this issue Jan 31, 2018 · 0 comments
Open

More application-level customisation #10

seeruk opened this issue Jan 31, 2018 · 0 comments

Comments

@seeruk
Copy link
Member

seeruk commented Jan 31, 2018

There are several top-level application areas that could be improved. In priority order:

  • Actual global options: this is sort of possible now, but a little more confusing because of how the input definition works. This is mainly down to how this functionality is exposed - it should be handled better.
    • Global arguments don't make sense.
    • This is tricky, because it might involve global variables... if they can be avoided somehow, that'd be ideal. It'd be best to avoid code duplication (e.g. each command reading the value into some local variable), it should be something that is easy and works everywhere. So, I suppose this comes down to; what are global options for? And how will they be used in a command?
  • Root level commands: sometimes we just want to be able to leverage the option and argument parsing on a command at the root, e.g. just running a binary. This should be possible.
  • Make it possible to override help text, and probably also error text when a value fails to parse the input string?
  • Make command grouping possible, think like kubectl.

All of these things happen in the application, outside of a command, and outside of their control. It should be possible to improve all of these aspects of the library.

Mainly having global options in a nicer way would be great. They'll still need to be able to be assigned to some variable at some point.

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

No branches or pull requests

1 participant