From d2f0b3ccb2be6dc2c600ef27b520ef89f9080dc1 Mon Sep 17 00:00:00 2001 From: Eric Cook Date: Mon, 25 May 2015 14:19:00 -0400 Subject: 35292: yum install complets local files --- ChangeLog | 5 +++++ Completion/Redhat/Command/_yum | 22 ++++++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index a1819e9e8..46043a2e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-05-26 Peter Stephenson + + * Eric Cook: 35292: Completion/Redhat/Command/_yum: complete + installation of local files. + 2015-05-23 Daniel Shahaf * 35127#1: Src/Zle/compcore.c Src/Zle/computil.c: Fix diff --git a/Completion/Redhat/Command/_yum b/Completion/Redhat/Command/_yum index a6983283c..f4538060e 100644 --- a/Completion/Redhat/Command/_yum +++ b/Completion/Redhat/Command/_yum @@ -173,20 +173,34 @@ yum_repos() { # Completion function for install (( $+functions[_yum_install] )) || _yum_install() { - _yum_available_pkgs - compadd "$@" -a -- _available_pkgs + if ! [[ $PREFIX == */* ]]; then + _yum_available_pkgs + fi + + local ret=1 + _tags files packages + while _tags; do + if _requested files; then + compadd "$@" -a -- _available_pkgs + fi + if _requested packages; then + _call_function - _yum_localinstall + fi + (( ret )) || break + done + return ret } # Completion function for localinstall (( $+functions[_yum_localinstall] )) || _yum_localinstall() { - _files -g '(#i)*.rpm(-.)' + _files -/ -g '(#i)*.rpm(-.)' } # Completion function for localupdate (( $+functions[_yum_localupdate] )) || _yum_localupdate() { - _files -g '(#i)*.rpm(-.)' + _files -/ -g '(#i)*.rpm(-.)' } # Completion function for update/upgrade -- cgit 1.4.1