cofyc / argparse

Command-line arguments parsing library.
MIT License
685 stars 124 forks source link

[feature] support shell completions #62

Open Freed-Wu opened 1 year ago

Freed-Wu commented 1 year ago

Can it support generating completions for common shells? For python's argparse, we have shtab, can generate shell completion script from a template.

Solution 1: Let user do it by themselves

# After installing foo
$ foo --print-completion bash | sudo tee /usr/share/bash-completion/completions/foo
# completion can work
$ foo -<TAB>

Solution 2: Write some install() in cmake

$ cmake -Bbuild -DCMAKE_INSTALL_PREFIX=/usr
$ cmake --build build
$ cmake --install build
$ ls /usr/share/bash-completion/completions/foo
/usr/share/bash-completion/completions/foo
# completion can work
$ foo -<TAB>

I thinks solution 2 will be better?