oh-my-bash/completions/git.completion.bash
2022-02-05 21:08:00 +09:00

30 lines
1.1 KiB
Bash

#! bash oh-my-bash.module
# bash completion support for Git.
_omb_completion_git_initialize() {
if ! _omb_util_function_exists __gitdir; then
local git_paths path
IFS=$'\n' read -r -d '' -a git_paths <<< "$(type -aP git)"
# Note: Falling back on /usr (should already be in the array)
git_paths+=("/usr/bin/git")
for path in "${git_paths[@]}"; do
if [[ -L $path ]]; then
path=$(_omb_util_readlink "$path")
fi
# Note: In the case of symbolic link, the true binary name can
# contain prefix or suffix for architectures and versions.
path="${path%/*}"
local prefix="${path%/bin}" file
for file in share/bash-completion/completions/git share/git-core/contrib/completion/git-completion.bash;
do
local _file="$prefix/$file"
if [[ -f $_file && -r $_file ]]; then
source "$_file"
return
fi
done
done
source "$OSH/tools/git-completion.bash"
fi
}
_omb_completion_git_initialize