diff options
Diffstat (limited to 'shell/completion.bash')
| -rw-r--r-- | shell/completion.bash | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/shell/completion.bash b/shell/completion.bash index 05b4ef30..9005af70 100644 --- a/shell/completion.bash +++ b/shell/completion.bash @@ -75,11 +75,11 @@ _fzf_opts_completion() { case "${prev}" in --tiebreak) - COMPREPLY=( $(compgen -W "length begin end index" -- ${cur}) ) + COMPREPLY=( $(compgen -W "length begin end index" -- "$cur") ) return 0 ;; --color) - COMPREPLY=( $(compgen -W "dark light 16 bw" -- ${cur}) ) + COMPREPLY=( $(compgen -W "dark light 16 bw" -- "$cur") ) return 0 ;; --history) @@ -88,8 +88,8 @@ _fzf_opts_completion() { ;; esac - if [[ ${cur} =~ ^-|\+ ]]; then - COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + if [[ "$cur" =~ ^-|\+ ]]; then + COMPREPLY=( $(compgen -W "${opts}" -- "$cur") ) return 0 fi @@ -108,32 +108,32 @@ _fzf_handle_dynamic_completion() { elif [ -n "$_fzf_completion_loader" ]; then _completion_loader "$@" ret=$? - eval $(complete | \grep "\-F.* $orig_cmd$" | _fzf_orig_completion_filter) - source $BASH_SOURCE + eval "$(complete | \grep "\-F.* $orig_cmd$" | _fzf_orig_completion_filter)" + source "${BASH_SOURCE[0]}" return $ret fi } __fzf_generic_path_completion() { local cur base dir leftover matches trigger cmd fzf - [ ${FZF_TMUX:-1} -eq 1 ] && fzf="fzf-tmux -d ${FZF_TMUX_HEIGHT:-40%}" || fzf="fzf" - cmd=$(echo ${COMP_WORDS[0]} | sed 's/[^a-z0-9_=]/_/g') + [ "${FZF_TMUX:-1}" != 0 ] && fzf="fzf-tmux -d ${FZF_TMUX_HEIGHT:-40%}" || fzf="fzf" + cmd=$(echo "${COMP_WORDS[0]}" | sed 's/[^a-z0-9_=]/_/g') COMPREPLY=() trigger=${FZF_COMPLETION_TRIGGER-'**'} cur="${COMP_WORDS[COMP_CWORD]}" - if [[ ${cur} == *"$trigger" ]]; then + if [[ "$cur" == *"$trigger" ]]; then base=${cur:0:${#cur}-${#trigger}} - eval base=$base + eval "base=$base" dir="$base" - while [ 1 ]; do - if [ -z "$dir" -o -d "$dir" ]; then + while true; do + if [ -z "$dir" ] || [ -d "$dir" ]; then leftover=${base/#"$dir"} leftover=${leftover/#\/} [ -z "$dir" ] && dir='.' [ "$dir" != "/" ] && dir="${dir/%\//}" tput sc - matches=$(eval "$1 $(printf %q "$dir")" | $fzf $FZF_COMPLETION_OPTS $2 -q "$leftover" | while read item; do + matches=$(eval "$1 $(printf %q "$dir")" | $fzf $FZF_COMPLETION_OPTS $2 -q "$leftover" | while read -r item; do printf "%q$3 " "$item" done) matches=${matches% } @@ -159,13 +159,13 @@ __fzf_generic_path_completion() { _fzf_complete() { local cur selected trigger cmd fzf post post="$(caller 0 | awk '{print $2}')_post" - type -t $post > /dev/null 2>&1 || post=cat - [ ${FZF_TMUX:-1} -eq 1 ] && fzf="fzf-tmux -d ${FZF_TMUX_HEIGHT:-40%}" || fzf="fzf" + type -t "$post" > /dev/null 2>&1 || post=cat + [ "${FZF_TMUX:-1}" != 0 ] && fzf="fzf-tmux -d ${FZF_TMUX_HEIGHT:-40%}" || fzf="fzf" - cmd=$(echo ${COMP_WORDS[0]} | sed 's/[^a-z0-9_=]/_/g') + cmd=$(echo "${COMP_WORDS[0]}" | sed 's/[^a-z0-9_=]/_/g') trigger=${FZF_COMPLETION_TRIGGER-'**'} cur="${COMP_WORDS[COMP_CWORD]}" - if [[ ${cur} == *"$trigger" ]]; then + if [[ "$cur" == *"$trigger" ]]; then cur=${cur:0:${#cur}-${#trigger}} tput sc @@ -200,7 +200,7 @@ _fzf_complete_kill() { [ -n "${COMP_WORDS[COMP_CWORD]}" ] && return 1 local selected fzf - [ ${FZF_TMUX:-1} -eq 1 ] && fzf="fzf-tmux -d ${FZF_TMUX_HEIGHT:-40%}" || fzf="fzf" + [ "${FZF_TMUX:-1}" != 0 ] && fzf="fzf-tmux -d ${FZF_TMUX_HEIGHT:-40%}" || fzf="fzf" tput sc selected=$(ps -ef | sed 1d | $fzf -m $FZF_COMPLETION_OPTS | awk '{print $2}' | tr '\n' ' ') tput rc |
