summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Zamarin <arthurzam@gentoo.org>2024-05-12 19:00:47 +0300
committerArthur Zamarin <arthurzam@gentoo.org>2024-05-15 22:10:54 +0300
commit6c1315e121cb90a28c6fcd00bd10eff2f527238c (patch)
tree6f59c68b9b542742285788df483576281c69b4bd
parentadd completion for qsize from app-portage/portage-utils (diff)
downloadgentoo-bashcomp-6c1315e121cb90a28c6fcd00bd10eff2f527238c.tar.gz
gentoo-bashcomp-6c1315e121cb90a28c6fcd00bd10eff2f527238c.tar.bz2
gentoo-bashcomp-6c1315e121cb90a28c6fcd00bd10eff2f527238c.zip
add completion for qwhich from app-portage/portage-utils
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
-rw-r--r--completions/qwhich49
1 files changed, 49 insertions, 0 deletions
diff --git a/completions/qwhich b/completions/qwhich
new file mode 100644
index 0000000..87959b9
--- /dev/null
+++ b/completions/qwhich
@@ -0,0 +1,49 @@
+# Gentoo Linux Bash Shell Command Completion
+#
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+source "@helpersdir@/gentoo-common.sh"
+
+#
+# qwhich completion (from app-portage/portage-utils)
+#
+
+_qwhich() {
+ local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ local -A OPTS=(
+ [STANDALONE]='-I --vdb -b --binpkg -t --tree -p --pretty -d --dir
+ -R --repo -f --first -l --latest -T --novirtual -A --noacct
+ -v --verbose -q --quiet -C --nocolor --color -h --help -V --version'
+ [ARG]='-F --format --root'
+ )
+
+ local i pkg_type="-I"
+ for word in "${COMP_WORDS[@]}"; do
+ if [[ ${word} = "-t" || ${word} = "--tree" ]]; then
+ pkg_type="-A"
+ break
+ fi
+ done
+
+ case ${prev} in
+ --root)
+ _filedir -d
+ return
+ ;;
+ -F|--format)
+ COMPREPLY=()
+ return
+ ;;
+ esac
+
+ if [[ ${cur} = -* ]]; then
+ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "${cur}") )
+ else
+ _pkgname ${pkg_type} "${cur}"
+ fi
+} &&
+complete -F _qwhich qwhich
+
+# vim: ft=sh:et:ts=4:sw=4:tw=80