diff --git a/.config/bash/module/cd.sh b/.config/bash/module/cd.sh index db32765..cae55ba 100644 --- a/.config/bash/module/cd.sh +++ b/.config/bash/module/cd.sh @@ -12,11 +12,6 @@ function cdd() { shopt -s nocasematch # Find desired dir. - # for dir in "${array[@]}"; do - # result="${result}/${dir}" - # [[ "${dir}" =~ "${target}" ]] && break - # done - local found=1 for (( idx=${#array[@]}-2 ; idx>=0 ; idx-- )); do dir="${array[idx]}" @@ -35,3 +30,13 @@ function cdd() { return 1 fi } + +_cdd_directories() { + local array + IFS='/' read -r -a array <<< "${PWD}" + array=("${array[@]:1}") + unset array[-1] + _autocomplete_first "${array[@]}" +} + +complete -o nosort -o filenames -F _cdd_directories cdd