%PDF- %PDF-
Direktori : /snap/core20/2318/usr/share/bash-completion/completions/ |
Current File : //snap/core20/2318/usr/share/bash-completion/completions/_yum |
# yum(8) completion -*- shell-script -*- # Use of this file is deprecated. Upstream completion is available in # yum > 3.2.25, use that instead. _yum_list() { if [[ "$1" == all ]]; then # Try to strip in between headings like "Available Packages" # This will obviously only work for English :P COMPREPLY=( $(yum -d 0 -C list $1 "$cur*" 2>/dev/null | \ command sed -ne '/^Available /d' -e '/^Installed /d' -e '/^Updated /d' \ -e 's/[[:space:]].*//p') ) else # Drop first line (e.g. "Updated Packages") COMPREPLY=( $(yum -d 0 -C list $1 "$cur*" 2>/dev/null | \ command sed -ne 1d -e 's/[[:space:]].*//p') ) fi } _yum_repolist() { # -d 0 causes repolist to output nothing as of yum 3.2.22: # http://yum.baseurl.org/ticket/83 # Drop first ("repo id repo name") and last ("repolist: ...") rows yum --noplugins -C repolist $1 2>/dev/null | \ command sed -ne '/^repo\s\s*id/d' -e '/^repolist:/d' -e 's/[[:space:]].*//p' } _yum_plugins() { command ls /usr/lib/yum-plugins/*.py{,c,o} 2>/dev/null \ | command sed -ne 's|.*/\([^./]*\)\.py[co]\{0,1\}$|\1|p' | sort -u } _yum() { local cur prev words cword split _init_completion -s || return local special i for (( i=0; i < ${#words[@]}-1; i++ )); do if [[ ${words[i]} == @(install|update|upgrade|remove|erase|deplist|info) ]]; then special=${words[i]} fi done if [[ -n $special ]]; then # TODO: install|update|upgrade should not match *src.rpm if [[ "$cur" == @(*/|[.~])* && \ "$special" == @(deplist|install|update|upgrade) ]]; then _filedir rpm return fi case $special in install) _yum_list available return ;; deplist|info) _yum_list all return ;; upgrade|update) _yum_list updates return ;; remove|erase) # _rpm_installed_packages is not arch-qualified _yum_list installed return ;; esac fi case $prev in list) COMPREPLY=( $(compgen -W 'all available updates installed extras obsoletes recent' -- "$cur") ) ;; clean) COMPREPLY=( $(compgen -W 'packages headers metadata cache dbcache all' -- "$cur") ) ;; repolist) COMPREPLY=( $(compgen -W 'all enabled disabled' -- "$cur") ) ;; localinstall|localupdate) # TODO: should not match *src.rpm _filedir rpm ;; -d|-e) COMPREPLY=( $(compgen -W '{0..10}' -- "$cur") ) ;; -c) _filedir ;; --installroot) _filedir -d ;; --enablerepo) COMPREPLY=( $(compgen -W '$(_yum_repolist disabled)' -- "$cur") ) ;; --disablerepo) COMPREPLY=( $(compgen -W '$(_yum_repolist enabled)' -- "$cur") ) ;; --disableexcludes) COMPREPLY=( $(compgen -W '$(_yum_repolist all) all main' \ -- "$cur") ) ;; --enableplugin|--disableplugin) COMPREPLY=( $(compgen -W '$(_yum_plugins)' -- "$cur") ) ;; --color) COMPREPLY=( $(compgen -W 'always auto never' -- "$cur") ) ;; -R|-x|--exclude) # argument required but no completions available return ;; -h|--help|--version) # no other options useful with these return ;; *) COMPREPLY=( $(compgen -W 'install update check-update upgrade remove erase list info provides whatprovides clean makecache groupinstall groupupdate grouplist groupremove groupinfo search shell resolvedep localinstall localupdate deplist repolist help' -- "$cur") ) ;; esac $split && return if [[ "$cur" == -* ]]; then COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") ) [[ $COMPREPLY == *= ]] && compopt -o nospace fi } && complete -F _yum yum # ex: filetype=sh