# Ensure that we log to doctor so the user can address these issues _is_function _init_completion || _log_error '_init_completion not found. Ensure bash-completion 2.0 or newer is installed and configured properly.' _is_function _rl_enabled || _log_error '_rl_enabled not found. Ensure bash-completion 2.0 or newer is installed and configured properly.' function _pj() { ############ STACK_TRACE_BUILDER ##################### Function_Name="${FUNCNAME[0]}" Function_PATH="${Function_PATH}/${Function_Name}" ###################################################### _is_function _init_completion || return _is_function _rl_enabled || return [ -n "$BASH_IT_PROJECT_PATHS" ] || return shift [ "${1}" == "open" ] && shift local cur prev words cword _init_completion || return local IFS=$'\n' i j k compopt -o filenames local -r mark_dirs=$(_rl_enabled mark-directories && echo y) local -r mark_symdirs=$(_rl_enabled mark-symlinked-directories && echo y) for i in ${BASH_IT_PROJECT_PATHS//:/$'\n'} do # create an array of matched subdirs k="${#COMPREPLY[@]}" for j in $( compgen -d $i/$cur ) do if [[ ( ${mark_symdirs} && -h $j || ${mark_dirs} && ! -h $j ) && ! -d ${j#$i/} ]] then j+="/" fi COMPREPLY[k++]=${j#$i/} done done if [[ ${#COMPREPLY[@]} -eq 1 ]] then i=${COMPREPLY[0]} if [[ "$i" == "$cur" && $i != "*/" ]] then COMPREPLY[0]="${i}/" fi fi return 0 ############### Stack_TRACE_BUILDER ################ Function_PATH="$( dirname ${Function_PATH} )" #################################################### } complete -F _pj -o nospace pj complete -F _pj -o nospace pjo