diff options
author | 2024-05-12 19:00:47 +0300 | |
---|---|---|
committer | 2024-05-15 22:10:54 +0300 | |
commit | 6c1315e121cb90a28c6fcd00bd10eff2f527238c (patch) | |
tree | 6f59c68b9b542742285788df483576281c69b4bd | |
parent | add completion for qsize from app-portage/portage-utils (diff) | |
download | gentoo-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/qwhich | 49 |
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 |