summaryrefslogtreecommitdiff
path: root/completions/rpm
diff options
context:
space:
mode:
Diffstat (limited to 'completions/rpm')
-rw-r--r--completions/rpm86
1 files changed, 43 insertions, 43 deletions
diff --git a/completions/rpm b/completions/rpm
index a66534a6..6b4e66fa 100644
--- a/completions/rpm
+++ b/completions/rpm
@@ -7,7 +7,7 @@ _rpm_installed_packages()
if [[ -r /var/log/rpmpkgs && \
/var/log/rpmpkgs -nt /var/lib/rpm/Packages ]]; then
# using RHL 7.2 or later - this is quicker than querying the DB
- COMPREPLY=( $( compgen -W "$( sed -ne \
+ COMPREPLY=( $( compgen -W "$( command sed -ne \
's|^\([^[:space:]]\{1,\}\)-[^[:space:]-]\{1,\}-[^[:space:]-]\{1,\}\.rpm$|\1|p' \
/var/log/rpmpkgs )" -- "$cur" ) )
elif type rpmqpack &>/dev/null ; then
@@ -29,14 +29,14 @@ _rpm_groups()
_rpm_macros()
{
# get a list of macros
- COMPREPLY=( $( compgen -W "$( ${1:-rpm} --showrc | sed -ne \
+ COMPREPLY=( $( compgen -W "$( ${1:-rpm} --showrc | command sed -ne \
's/^-\{0,1\}[0-9]\{1,\}[:=][[:space:]]\{1,\}\([^[:space:](]\{3,\}\).*/%\1/p' )" \
-- "$cur" ) )
}
_rpm_buildarchs()
{
- COMPREPLY=( $( compgen -W "$( ${1:-rpm} --showrc | sed -ne \
+ COMPREPLY=( $( compgen -W "$( ${1:-rpm} --showrc | command sed -ne \
's/^\s*compatible\s\s*build\s\s*archs\s*:\s*\(.*\)/\1/ p' )" \
-- "$cur" ) )
}
@@ -63,63 +63,60 @@ _rpm()
-- "$cur" ) )
;;
esac
- return 0
+ return
fi
case $prev in
--dbpath|--excludepath|--prefix|--relocate|--root|-r)
_filedir -d
- return 0
+ return
;;
--eval|-E)
_rpm_macros $1
- return 0
+ return
;;
--pipe)
compopt -o filenames
COMPREPLY=( $( compgen -c -- "$cur" ) )
- return 0
+ return
;;
--rcfile)
_filedir
- return 0
+ return
;;
--specfile)
# complete on .spec files
_filedir spec
- return 0
+ return
;;
- --whatprovides)
+ --whatenhances|--whatprovides|--whatrecommends|--whatrequires|\
+ --whatsuggests|--whatsupplements)
if [[ "$cur" == */* ]]; then
_filedir
else
# complete on capabilities
- local IFS=$'\n'
+ local IFS=$'\n' fmt
+ case $prev in
+ *enhances) fmt=ENHANCENAME ;;
+ *provides) fmt=PROVIDENAME ;;
+ *recommends) fmt=RECOMMENDNAME ;;
+ *requires) fmt=REQUIRENAME ;;
+ *suggests) fmt=SUGGESTNAME ;;
+ *supplements) fmt=SUPPLEMENTNAME ;;
+ esac
COMPREPLY=( $( compgen -W "$( $1 -qa --nodigest --nosignature \
- --queryformat='%{PROVIDENAME}\n' 2>/dev/null )" \
- -- "$cur" ) )
+ --queryformat=\"%{$fmt}\\n\" 2>/dev/null |
+ command grep -vF '(none)' )" -- "$cur" ) )
fi
- return 0
- ;;
- --whatrequires)
- if [[ "$cur" == */* ]]; then
- _filedir
- else
- # complete on capabilities
- local IFS=$'\n'
- COMPREPLY=( $( compgen -W "$( $1 -qa --nodigest --nosignature \
- --queryformat='%{REQUIRENAME}\n' 2>/dev/null )" \
- -- "$cur" ) )
- fi
- return 0
+ return
;;
--define|-D|--fileid|--hdrid|--pkgid)
# argument required but no completions available
- return 0
+ return
;;
esac
- $split && return 0
+ $split && return
# options common to all modes
local opts="--define= --eval= --macros= --nodigest --nosignature --rcfile=
@@ -153,7 +150,8 @@ _rpm()
--enhances --filesbypkg --filecaps --fileclass --filecolor
--fileprovide --filerequire --filesbypkg --info --list
--obsoletes --pipe --provides --queryformat= --requires
- --scripts --suggests --triggers --xml"
+ --scripts --suggests --triggers --xml --recommends
+ --supplements --filetriggers"
if [[ ${words[@]} == *\ -@(*([^ -])f|-file )* ]]; then
# -qf completion
@@ -180,7 +178,9 @@ _rpm()
COMPREPLY=( $( compgen -W "$opts --all --file --fileid
--dbpath --fscontext --ftswalk --group --hdrid --last
--package --pkgid --root= --specfile --state
- --triggeredby --whatprovides --whatrequires" \
+ --triggeredby --whatenhances --whatprovides
+ --whatrecommends --whatrequires --whatsuggests
+ --whatsupplements" \
-- "$cur" ) )
elif [[ ${words[@]} != *\ -@(*([^ -])a|-all )* ]]; then
_rpm_installed_packages $1
@@ -200,7 +200,9 @@ _rpm()
COMPREPLY=( $( compgen -W "$opts --root= --dbpath --nodeps
--nogroup --nolinkto --nomode --nomtime --nordev --nouser
--nofiles --noscripts --nomd5 --querytags --specfile
- --whatrequires --whatprovides" -- "$cur" ) )
+ --whatenhances --whatprovides --whatrecommends
+ --whatrequires --whatsuggests --whatsupplements" \
+ -- "$cur" ) )
# check whether we're doing file completion
elif [[ ${words[@]} == *\ -@(*([^ -])f|-file )* ]]; then
_filedir
@@ -228,8 +230,6 @@ _rpm()
;;
esac
[[ $COMPREPLY == *= ]] && compopt -o nospace
-
- return 0
} &&
complete -F _rpm rpm
@@ -244,45 +244,45 @@ _rpmbuild()
case $prev in
--buildroot|--root|-r|--dbpath)
_filedir -d
- return 0
+ return
;;
--target)
_rpm_buildarchs
- return 0
+ return
;;
--eval|-E)
_rpm_macros $rpm
- return 0
+ return
;;
--macros|--rcfile)
_filedir
- return 0
+ return
;;
--buildpolicy)
local cfgdir=$( $rpm --eval '%{_rpmconfigdir}' 2>/dev/null )
if [[ $cfgdir ]]; then
COMPREPLY=( $( compgen -W "$( command ls $cfgdir 2>/dev/null \
- | sed -ne 's/^brp-//p' )" -- "$cur" ) )
+ | command sed -ne 's/^brp-//p' )" -- "$cur" ) )
fi
;;
--define|-D|--with|--without)
- return 0
+ return
;;
esac
- $split && return 0
+ $split && return
if [[ $cur == -* ]]; then
COMPREPLY=( $( compgen -W "$( _parse_help "$1" )" -- "$cur" ) )
[[ $COMPREPLY == *= ]] && compopt -o nospace
- return 0
+ return
fi
# Figure out file extensions to complete
local word ext
for word in ${words[@]}; do
case $word in
- -b?)
+ -b?|--clean|--nobuild)
ext=spec
break
;;
@@ -300,4 +300,4 @@ _rpmbuild()
} &&
complete -F _rpmbuild rpmbuild rpmbuild-md5
-# ex: ts=4 sw=4 et filetype=sh
+# ex: filetype=sh