summaryrefslogtreecommitdiff
path: root/extra/source/bash-completion/contrib/pkgtools
diff options
context:
space:
mode:
Diffstat (limited to 'extra/source/bash-completion/contrib/pkgtools')
-rw-r--r--extra/source/bash-completion/contrib/pkgtools127
1 files changed, 127 insertions, 0 deletions
diff --git a/extra/source/bash-completion/contrib/pkgtools b/extra/source/bash-completion/contrib/pkgtools
new file mode 100644
index 00000000..2b438efc
--- /dev/null
+++ b/extra/source/bash-completion/contrib/pkgtools
@@ -0,0 +1,127 @@
+# bash completion for Slackware Linux pkgtools
+
+[ -f /etc/slackware-version ] &&
+{
+
+have pkgtool &&
+_pkgtool()
+{
+ COMPREPLY=()
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '--sets --ignore-tagfiles --tagfile \
+ --source-mounted --source_dir --target_dir --source_device' \
+ -- "$cur" ) )
+ return 0
+ fi
+
+ local prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ case $prev in
+ --source_dir|--target_dir)
+ _filedir -d
+ return 0
+ ;;
+ --sets)
+ # argument required but no completions available
+ return 0
+ ;;
+ --source_device)
+ COMPREPLY=( $( compgen -f -d -- "${cur:-/dev/}" ) )
+ return 0
+ ;;
+ --tagfile)
+ _filedir
+ return 0
+ ;;
+ esac
+} &&
+complete -F _pkgtool pkgtool
+
+have removepkg &&
+_removepkg()
+{
+ COMPREPLY=()
+ local cur=`_get_cword`
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-copy -keep -preserve -warn' \
+ -- "$cur" ) )
+ return 0
+ fi
+
+ COMPREPLY=( $( cd /var/log/packages; compgen -f -- "$cur" ) )
+} &&
+complete -F _removepkg removepkg
+
+have upgradepkg &&
+_upgradepkg()
+{
+ COMPREPLY=()
+ local cur=`_get_cword`
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '--dry-run --install-new --reinstall \
+ --verbose' -- "$cur") )
+ return 0
+ fi
+
+ _filedir "t[bglx]z"
+} && complete -F _upgradepkg upgradepkg
+
+have installpkg &&
+_installpkg()
+{
+ COMPREPLY=()
+ local cur=`_get_cword`
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '--warn --md5sum --root --infobox --terse \
+ --menu --ask --priority --tagfile' -- "$cur") )
+ return 0
+ fi
+
+ local prev=`_get_pword`
+
+ case $prev in
+ --root)
+ _filedir -d
+ return 0
+ ;;
+ --priority)
+ COMPREPLY=( $( compgen -W 'ADD REC OPT SKP' -- "$cur" ) )
+ return 0
+ ;;
+ --tagfile)
+ _filedir
+ return 0
+ ;;
+ esac
+
+ _filedir "t[bglx]z"
+} && complete -F _installpkg installpkg
+
+have makepkg &&
+_makepkg()
+{
+ COMPREPLY=()
+ local cur=`_get_cword`
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-l --linkadd -p --prepend \
+ -c --chown' -- "$cur") )
+ return 0
+ fi
+
+ local prev=`_get_pword`
+
+ case $prev in
+ -l|--linkadd|-c|--chown)
+ COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+ return 0
+ ;;
+ esac
+
+ _filedir
+} && complete -F _makepkg makepkg
+
+have explodepkg &&
+complete -o plusdirs -f -X '!*.t[bglx]z' explodepkg
+
+}