commit:     725f857724ac06277423688c3f6ca8f4ea15334f
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Tue May 21 19:25:11 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Tue May 21 19:25:11 2024 +0000
URL:        
https://gitweb.gentoo.org/proj/gentoo-bashcomp.git/commit/?id=725f8577

add completion for eshowkw from app-portage/gentoolkit

Closes: https://bugs.gentoo.org/426570
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 completions/eshowkw | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

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

Reply via email to