For users with argcomplete installed, they can have some form of tab-completion, especially for the --type option.
Limitations: Without needing to optimize imports to only import modules when necessary, argcomplete may feel sluggish due to it needing to evaluate the script up until the parser is created. This seems to be a problem with global completion, and there's not much to fix it besides refactoring to move the parser to invoked as quickly as possible.
Follow-ups: Rewriting README.md to address argcomplete support in a better fashion.
Being sluggish is fine for now, I was planning on doing a bit of refactoring anyways to decouple the CLI and setting up the deobf, so deferring imports after that is done should be easy.
For users with
argcomplete
installed, they can have some form of tab-completion, especially for the--type
option.Limitations: Without needing to optimize imports to only import modules when necessary,
argcomplete
may feel sluggish due to it needing to evaluate the script up until theparser
is created. This seems to be a problem with global completion, and there's not much to fix it besides refactoring to move theparser
to invoked as quickly as possible.Follow-ups: Rewriting
README.md
to addressargcomplete
support in a better fashion.Example terminal output (
argcomplete
installed):Default terminal output (
argcomplete
uninstalled):