diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2016-07-30 01:17:09 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2016-07-30 02:09:30 +1200 |
commit | 4cbbd121c012b3962f12fdff0f1820c3b8636a44 (patch) | |
tree | 00149270df365ed0b7a1b9e9f4922fe7d5a80eb3 /bash/bashrc.d/path.bash | |
parent | Change ca from Bash func to sh script (diff) | |
download | dotfiles-4cbbd121c012b3962f12fdff0f1820c3b8636a44.tar.gz dotfiles-4cbbd121c012b3962f12fdff0f1820c3b8636a44.zip |
Move bash completion setup into separate dir
Diffstat (limited to 'bash/bashrc.d/path.bash')
-rw-r--r-- | bash/bashrc.d/path.bash | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/bash/bashrc.d/path.bash b/bash/bashrc.d/path.bash index e16e6a4a..61bf73c0 100644 --- a/bash/bashrc.d/path.bash +++ b/bash/bashrc.d/path.bash @@ -178,64 +178,3 @@ EOF ;; esac } - -# Completion for path -_path() { - - # What to do depends on which word we're completing - if ((COMP_CWORD == 1)) ; then - - # Complete operation as first word - local cmd - for cmd in help list insert append remove set check ; do - [[ $cmd == "${COMP_WORDS[COMP_CWORD]}"* ]] || continue - COMPREPLY[${#COMPREPLY[@]}]=$cmd - done - - # Complete with either directories or $PATH entries as all other words - else - case ${COMP_WORDS[1]} in - - # Complete with a directory - insert|i|append|add|a|check|c|set|s) - local dirname - while IFS= read -rd '' dirname ; do - COMPREPLY[${#COMPREPLY[@]}]=$dirname - done < <( - - # Set options to glob correctly - shopt -s dotglob nullglob - - # Collect directory names, strip trailing slash - local -a dirnames - dirnames=("${COMP_WORDS[COMP_CWORD]}"*/) - dirnames=("${dirnames[@]%/}") - - # Bail if no results to prevent empty output - ((${#dirnames[@]})) || exit 1 - - # Print results, quoted and null-delimited - printf '%q\0' "${dirnames[@]}" - ) - ;; - - # Complete with directories from PATH - remove|rm|r) - local -a promptarr - IFS=: read -d '' -a promptarr < <(printf '%s\0' "$PATH") - local part - for part in "${promptarr[@]}" ; do - [[ $part == "${COMP_WORDS[COMP_CWORD]}"* ]] || continue - COMPREPLY[${#COMPREPLY[@]}]=$(printf '%q\0' "$part") - done - ;; - - # No completion - *) - return 1 - ;; - esac - fi -} - -complete -F _path path |