integrii / flaggy

Idiomatic Go input parsing with subcommands, positional values, and flags at any position. No required project or package layout and no external dependencies.
The Unlicense
858 stars 30 forks source link

Add bash/zsh auto completion generation #1

Open integrii opened 6 years ago

integrii commented 6 years ago

We should generate bash auto complete code when some pre-defined flag is specified. The flag should be able to be turned off if the user prefers that flag not be used by the system.

philippgille commented 6 years ago

Maybe rather a subcommand? Like './myApp installAutoCompletion'. Or make it configurable (app developer can choose between flag and subcommand, as well as change the flag and subcommand).

integrii commented 6 years ago

I think a subcommand makes more sense for sure.

The main challenge I see here is not using a 3rd party package. I want to keep flaggy a zero dependency package.

WhyNotHugo commented 1 year ago

A possible approach to avoiding third party dependencies is implementing this feature in a separate package. I'm thinking of something like this:

Note that the approach also allows having a separate binary that generates the completions, so the new library doesn't even need to be build into the application binary itself.