#!/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 "$*"