diff options
Diffstat (limited to 'completions/binutils-config')
-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 |