diff options
author | Arthur Zamarin <arthurzam@gentoo.org> | 2024-06-07 13:20:22 +0300 |
---|---|---|
committer | Arthur Zamarin <arthurzam@gentoo.org> | 2024-06-07 13:20:22 +0300 |
commit | 5da9b01ff0e33cf0d34feda669045f42d201cd8c (patch) | |
tree | 110c261ad045e23f71ff0e2583b5941523121384 | |
parent | gcc-config: fix invalid suggestions & add missing flags (diff) | |
download | gentoo-bashcomp-5da9b01ff0e33cf0d34feda669045f42d201cd8c.tar.gz gentoo-bashcomp-5da9b01ff0e33cf0d34feda669045f42d201cd8c.tar.bz2 gentoo-bashcomp-5da9b01ff0e33cf0d34feda669045f42d201cd8c.zip |
add completion for binutils-config
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
-rw-r--r-- | completions/binutils-config | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/completions/binutils-config b/completions/binutils-config new file mode 100644 index 0000000..ab7fa90 --- /dev/null +++ b/completions/binutils-config @@ -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 + +# +# binutils-config completion (from sys-devel/binutils-config) +# +_binutils-config() { + local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} + local OPTS=( + -C --nocolor + -c --get-current-profile + -l --list-profiles + -u --uninstall + -d --debug + -B --get-bin-path + -L --get-lib-path + ) + _list_profiles() { + binutils-config --nocolor --list-profiles 2>/dev/null | \ + sed -r -e 's/\[([^]]*)\] //g' -e 's/ \*//g' + } + + if [[ ${cur} == -* ]] ; then + COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "${cur}") ) + return 0 + elif [[ ${COMP_CWORD} -eq 1 ]] ; then + COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "${cur}") ) + COMPREPLY+=( $(compgen -W '$(_list_profiles)' -- "${cur}" )) + return 0 + fi + + case ${prev} in + -c|--get-current-profile|-l|--list-profiles) + COMPREPLY=() + ;; + *) + COMPREPLY=( $(compgen -W '$(_list_profiles)' -- "${cur}") ) + ;; + esac +} && +complete -F _binutils-config binutils-config + +# vim: ft=sh:et:ts=4:sw=4:tw=80 |