This commit is contained in:
Motiejus Jakštys 2024-04-12 14:59:47 +03:00 committed by Motiejus Jakštys
parent 301a46fa7d
commit 19e313d567

View File

@ -11,17 +11,17 @@ gg() {
local c=1 local c=1
for path in "${paths[@]}"; do for path in "${paths[@]}"; do
echo "[$c]: cd ${_gopath}/${path}" echo "[$c]: cd ${_gopath}/${path}"
c=$((c+1)) c=$((c + 1))
done done
echo -n "Go to which path: " echo -n "Go to which path: "
read -r path_index read -r path_index
path_index=$((path_index-1)) path_index=$((path_index - 1))
fi fi
local path=${paths[$path_index]} local path=${paths[$path_index]}
cd "$_gopath/$path" || { cd "$_gopath/$path" || {
>&2 echo "?" echo >&2 "?"
exit 1 exit 1
} }
} }
@ -37,12 +37,11 @@ g() {
# #
# Bash autocomplete for g and gg functions. # Bash autocomplete for g and gg functions.
# #
_g_complete() _g_complete() {
{
COMPREPLY=() COMPREPLY=()
local cur local cur
cur="${COMP_WORDS[COMP_CWORD]}" cur="${COMP_WORDS[COMP_CWORD]}"
COMPREPLY=( $(compgen -W "$(for f in $(find "$_gopath" -mindepth 1 -maxdepth ${_GG_MAXDEPTH} -type d -name "${cur}*" ! -name '.*' ! -path '*/.git/*' ! -path '*/test/*' ! -path '*/vendor/*'); do echo "${f##*/}"; done)" -- "$cur") ) COMPREPLY=($(compgen -W "$(for f in $(find "$_gopath" -mindepth 1 -maxdepth ${_GG_MAXDEPTH} -type d -name "${cur}*" ! -name '.*' ! -path '*/.git/*' ! -path '*/test/*' ! -path '*/vendor/*'); do echo "${f##*/}"; done)" -- "$cur"))
return 0 return 0
} }
complete -F _g_complete g complete -F _g_complete g