util-linux/bash-completion/whereis
Smitty e091d5b7b1 whereis: use commands for Bash completions
Currently, the Bash completions for `whereis <TAB>` gives
`whereis file` ("file" is not a placeholder here, it literally expands
to that). This fixes that by passing the `-c` flag to `compgen` to
request completions for command names.

Signed-off-by: Smitty van Bodegom <me@smitop.com>
2021-08-08 18:04:30 -04:00

28 lines
528 B
Text

_whereis_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-B'|'-M'|'-S')
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -o dirnames -- ${cur:-"/"}) )
return 0
;;
'-h'|'-V')
return 0
;;
esac
case $cur in
-*)
OPTS="-b -B -m -M -s -S -f -u -l"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
COMPREPLY=( $(compgen -c -- $cur) )
return 0
}
complete -F _whereis_module whereis