diff options
-rw-r--r-- | completions/eshowkw | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/completions/eshowkw b/completions/eshowkw new file mode 100644 index 0000000..8420420 --- /dev/null +++ b/completions/eshowkw @@ -0,0 +1,45 @@ +# 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" + +# +# eshowkw completion (from app-portage/gentoolkit) +# + +_eshowkw() { + local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} + + local -A OPTS=( + [STANDALONE]='-h --help -v --version -B --bold -C --color -O --overlays + -P --prefix -S --ignore-slot' + [ARG]='-a --arch -A --align -T --top-position' + ) + + case ${prev} in + -a|--arch) + local portdir=$(_portdir) + COMPREPLY=($(compgen -W "$( grep -v \# < "${portdir}/profiles/arch.list" )" -- "${cur}")) + return + ;; + -A|--align) + COMPREPLY=($(compgen -W "top bottom" -- "${cur}")) + return + ;; + -T|--top-position) + COMPREPLY=($(compgen -W "archlist versionlist" -- "${cur}")) + return + ;; + esac + + if [[ ${cur} = -* ]]; then + COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "${cur}") ) + else + _pkgname -A "${cur}" + fi +} && +complete -F _eshowkw eshowkw + +# vim: ft=sh:et:ts=4:sw=4:tw=80 |