27 lines
559 B
Bash
Executable file
27 lines
559 B
Bash
Executable file
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
function _get_projects() {
|
|
find "${WORKSPACE_DIR?}" -type d -iname ".git" | sed "s|${WORKSPACE_DIR?}/\(.*\)/.git|\1|g"
|
|
}
|
|
|
|
function _pp() {
|
|
if command -v fzf &>/dev/null; then
|
|
_get_projects | fzf --select-1 --query "$1"
|
|
return
|
|
fi
|
|
|
|
select project in $(_get_projects); do
|
|
echo "${project}"
|
|
done
|
|
}
|
|
|
|
function _pp_comp() {
|
|
_init_completion || return
|
|
local cur prev words cword
|
|
|
|
COMPREPLY=( compgen -W "$(_get_projects)" -- "${cur}" )
|
|
} && complete -F _pp_comp pp cdp
|
|
|
|
_pp "$*"
|