Homebrew経由で git をインストールしました。インストールされたスクリプトを介してコマンドライン補完を取得します
/usr/local/etc/bash_completion.d/
ただし、カスタムの git-* スクリプトも完成させたいと思っています。
これを既存の git 補完にどのように追加しますか?
Homebrew経由で git をインストールしました。インストールされたスクリプトを介してコマンドライン補完を取得します
/usr/local/etc/bash_completion.d/
ただし、カスタムの git-* スクリプトも完成させたいと思っています。
これを既存の git 補完にどのように追加しますか?
いくつか例を挙げます。
次のような pull のエイリアスがある場合:
alias gp='git push'
次に、実行するのと同じ補完を使用するようにエイリアスを定義できますgit-push
。
compdef _git gp=git-push
これはより厳しいものです。zshの補完スクリプトを作成するのは簡単ではありません。このプロジェクトのスクリプトを参考にしてください。たとえば、git-wtfの完了スクリプトを見てください。
次のようにログを検索するスクリプトがある場合:
query="$1"
shift
git log -S"$query" "$@"
の補完をgit-log
少し変更して使用したい場合: 最初に検索文字列を補完し、次に の通常のオプションを使用したいとしますgit-log
。次に、これを使用できます:
_git-search () {
if (( CURRENT == 2 )); then
_message "search string"
return
fi
CURRENT=$(( $CURRENT - 1 ))
_git-log
}
_git-search "$@"
編集:また、新しく定義した補完ファイルを実際に使用するには、それらが保存されているディレクトリをfpath