From 6c1315e121cb90a28c6fcd00bd10eff2f527238c Mon Sep 17 00:00:00 2001 From: Arthur Zamarin Date: Sun, 12 May 2024 19:00:47 +0300 Subject: add completion for qwhich from app-portage/portage-utils Signed-off-by: Arthur Zamarin --- completions/qwhich | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 completions/qwhich 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 -- cgit v1.2.3-65-gdbad