summaryrefslogtreecommitdiffstats
path: root/completions/upgradepkg
diff options
context:
space:
mode:
Diffstat (limited to 'completions/upgradepkg')
-rw-r--r--completions/upgradepkg30
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