zshには、次のg
ように動作するという関数があります。
- 引数なしで、
git status
- 1つ以上の引数を使用して、指定されたすべての引数を使用してgitに委任します。
git $@
g
のタブ補完は、とまったく同じにしたいと思いますgit
。これはで実現できますが、デフォルトでalias g=git
は呼び出すことができません(上記の最初のポイント)。status
の完了に委任するにはどうすればよいgit
ですか?
complete -F _git g
bashでは、 gitの完了関数を再利用するだけです。zshを使用すると、gitの完了ははるかに複雑に見え、同様の解決策を見つけることができません。
zshには、「コマンド[x]を入力したふりをして、何を完了するか」という機能があると思います。それが何であるかを知っていれば、関数を使用してそれに委任するのに十分簡単なはずです。しかし、私はマニュアルにそのような機能を見つけませんでした。