diff options
Diffstat (limited to 'Completion/Redhat/Command/_rpm')
-rw-r--r-- | Completion/Redhat/Command/_rpm | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Completion/Redhat/Command/_rpm b/Completion/Redhat/Command/_rpm index 696c12fa3..b2157bd48 100644 --- a/Completion/Redhat/Command/_rpm +++ b/Completion/Redhat/Command/_rpm @@ -32,6 +32,8 @@ # complete a RPM package file name # package_or_file # the previous two together +# file_or_package +# an absolute path to any file (not a package file) or a package # tags # complete a tag name # capability @@ -66,7 +68,7 @@ _rpm () { {-g,--group}'[query packages in one of specified groups]' --fileid --hdrid --pkgid --tid --querybynumber '--triggeredby' - '--whatprovides' + '--whatprovides:*:provided file:->file_or_package' '--whatrequires' ) sopts=${selectopts%\[*}\ --specfile @@ -246,6 +248,13 @@ _rpm () { package_or_file) state=package_file ;; + file_or_package) + if [[ $PREFIX = /* ]]; then + _wanted files expl 'file' _files + else + state=package + fi + ;; package) if ( [[ ${+_rpms} -eq 0 ]] || _cache_invalid RPMs ) && ! _retrieve_cache RPMs; |