Python スクリプトの引数でも自動補完を有効にしたいと思います。
私はこれまで、bash_completion が (引数に対して) どのように動作するのかを本当に理解したことはありませんでしたが、調べてみると次のことがわかりました。
- 「complete」を使用してコマンドに補完機能をバインドします
- すべての補完関数は基本的に引数パーサーのコピーである
特に 2 番目のポイントは、自動的に生成されるようにしたいので、あまり良くありません。
最も良いのは、シェルがタブごとにプログラムに何を完了するかを尋ねることですが、これは実際には機能しないという印象を受けますが、正しいでしょうか?
2 番目のオプションは、おそらく、argparse パーサーから正しく完了するシェル関数へのコンバーターを作成することです。
ベストアンサー1
恥知らずな自己宣伝:https://github.com/kislyuk/argcomplete
argcomplete は、argparse の bash (および zsh) 補完を提供します。