1. ホーム
  2. ギット

[解決済み】エイリアスでbash補完を動作させるにはどうしたらいいですか?

2022-04-20 21:55:19

質問

事例を紹介します。

私は mac で bash v3.2.17 を使っていて、bash_completion variant を使って macports 経由でインストールした git を使っているのですが、bash_completion v3.2.17 はどうですか?

と入力すると git checkout m<tab> .たとえば、次のように補完されます。 master .

ただし、エイリアスを git checkout , gco . と入力すると gco m<tab> ブランチ名のオートコンプリートに失敗しました。

理想を言えば、すべてのエイリアスに対して魔法のようにオートコンプリートが機能するようにしたいのですが。それは可能ですか?そうでない場合は、各エイリアスに対して手動でカスタマイズしたいと思います。どうすればいいのでしょうか?

解決方法は?

上記のコメントにある通りです。

complete -o default -o nospace -F _git_checkout gco

は動作しなくなります。しかし __git_complete 関数を使用すると、エイリアスの補完をこのように設定することができます。

__git_complete gco _git_checkout