diff options
Diffstat (limited to 'completions/upgradepkg')
-rw-r--r-- | completions/upgradepkg | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/completions/upgradepkg b/completions/upgradepkg new file mode 100644 index 0000000..d3ce608 --- /dev/null +++ b/completions/upgradepkg @@ -0,0 +1,30 @@ +# Slackware Linux upgradepkg completion -*- shell-script -*- + +_upgradepkg() +{ + local cur prev words cword + _init_completion || return + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '--dry-run --install-new --reinstall + --verbose' -- "$cur")) + return + fi + + if [[ $cur == ?*%* ]]; then + prev="${cur%%?(\\)%*}" + cur="${cur#*%}" + local nofiles IFS=$'\n' + compopt -o filenames + COMPREPLY=($(compgen -P "$prev%" -f -X "!*.@(t[bgxl]z)" -- "$cur")) + [[ ${COMPREPLY-} ]] || nofiles=1 + COMPREPLY+=($(compgen -P "$prev%" -S '/' -d -- "$cur")) + [[ -v nofiles ]] && compopt -o nospace + return + fi + + _filedir 't[bglx]z' +} && + complete -F _upgradepkg upgradepkg + +# ex: filetype=sh |