Репозитории ALT
S: | 2.11-alt3.git.157.g59d2322e |
5.1: | 20060301-alt06 |
4.1: | 20060301-alt05 |
4.0: | 20060301-alt03 |
3.0: | 20050712-alt01 |
Группа :: Интерпретаторы команд
Пакет: bash-completion
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: bash-completion-alt-specific.patch
Скачать
Скачать
bash_completion | 17 +++++++++++++++--
bash_completion.sh.in | 2 +-
completions/apt-get | 10 +++++-----
completions/aptitude | 22 ++++------------------
completions/rpm | 7 ++++---
5 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/bash_completion b/bash_completion
index 7abb198c..f2f13d57 100644
--- a/bash_completion
+++ b/bash_completion
@@ -2282,16 +2282,29 @@ __load_completion()
backslash=\\
fi
+ local compfile_fail=
for dir in "${dirs[@]}"; do
[[ -d $dir ]] || continue
+ compfile_fail=1
for compfile in "$cmd" "$cmd.bash" "_$cmd"; do
compfile="$dir/$compfile"
# Avoid trying to source dirs; https://bugzilla.redhat.com/903540
if [[ -f $compfile ]] && . "$compfile" &>/dev/null; then
- [[ $backslash ]] && $(complete -p "$cmd") "\\$cmd"
- return 0
+ compfile_fail=0
+ break
fi
done
+ if [[ $compfile_fail = 0 ]]; then
+ for compfiles in "$cmd-*" "$cmd-*.bash" "_$cmd-*"; do
+ compfiles="$dir/$compfiles"
+ for compfile in $compfiles; do
+ # Avoid trying to source dirs; https://bugzilla.redhat.com/903540
+ [[ -f $compfile ]] && . "$compfile" &>/dev/null
+ done
+ done
+ [[ $backslash ]] && $(complete -p "$cmd") "\\$cmd"
+ return 0
+ fi
done
# Look up simple "xspec" completions
diff --git a/bash_completion.sh.in b/bash_completion.sh.in
index b2a527eb..1a7ad480 100644
--- a/bash_completion.sh.in
+++ b/bash_completion.sh.in
@@ -7,7 +7,7 @@ if [ "x${BASH_VERSION-}" != x -a "x${PS1-}" != x -a "x${BASH_COMPLETION_VERSINFO
[ "${BASH_VERSINFO[0]}" -eq 4 -a "${BASH_VERSINFO[1]}" -ge 2 ]; then
[ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] &&
. "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion"
- if shopt -q progcomp && [ -r @datadir@/@PACKAGE@/bash_completion ]; then
+ if shopt -q progcomp 2>/dev/null && [ -r @datadir@/@PACKAGE@/bash_completion ]; then
# Source completion code.
. @datadir@/@PACKAGE@/bash_completion
fi
diff --git a/completions/apt-get b/completions/apt-get
index 543d29c4..eeb9bfb8 100644
--- a/completions/apt-get
+++ b/completions/apt-get
@@ -20,7 +20,7 @@ _apt_get()
local special i
for ((i = 1; i < ${#words[@]} - 1; i++)); do
- if [[ ${words[i]} == @(install|remove|autoremove|purge|source|build-dep|download|changelog) ]]; then
+ if [[ ${words[i]} == @(install|remove|autoremove|source|build-dep) ]]; then
special=${words[i]}
break
fi
@@ -28,7 +28,7 @@ _apt_get()
if [[ -v special ]]; then
case $special in
- remove | autoremove | purge)
+ remove|autoremove)
_comp_cmd_apt_get_installed_packages
;;
source)
@@ -38,7 +38,7 @@ _apt_get()
;;
install)
if [[ $cur == */* ]]; then
- _filedir deb
+ _filedir '@(rpm|RPM)'
return
elif [[ $cur == *=* ]]; then
package="${cur%%=*}"
@@ -98,8 +98,8 @@ _apt_get()
--version --config-file --option' -- "$cur"))
else
COMPREPLY=($(compgen -W 'update upgrade dist-upgrade
- dselect-upgrade install remove purge source build-dep check
- download clean autoclean autoremove changelog indextargets' \
+ install remove source build-dep check
+ clean autoclean autoremove dedup' \
-- "$cur"))
fi
diff --git a/completions/aptitude b/completions/aptitude
index e5ea1636..396c9e7a 100644
--- a/completions/aptitude
+++ b/completions/aptitude
@@ -1,18 +1,5 @@
# Debian aptitude(1) completion -*- shell-script -*-
-_have grep-status && {
- _comp_dpkg_hold_packages()
- {
- grep-status -P -e "^$1" -a -FStatus 'hold' -n -s Package
- }
-} || {
- _comp_dpkg_hold_packages()
- {
- command grep -B 2 'hold' /var/lib/dpkg/status |
- awk "/Package: $1/ { print \$2 }"
- }
-}
-
_aptitude()
{
local cur prev words cword
@@ -20,7 +7,7 @@ _aptitude()
local special i
for ((i = 1; i < ${#words[@]} - 1; i++)); do
- if [[ ${words[i]} == @(@(|re)install|@(|un)hold|@(|un)markauto|@(dist|full|safe)-upgrade|download|show|forbid-version|purge|remove|changelog|why@(|-not)|keep@(|-all)|build-dep|@(add|remove)-user-tag|versions) ]]; then
+ if [[ ${words[i]} == @(@(|re)install|@(|un)hold|@(|un)markauto|@(dist|full)-upgrade|download|show|forbid-version|remove|changelog|why@(|-not)|keep@(|-all)|build-dep) ]]; then
special=${words[i]}
break
fi
@@ -107,10 +94,9 @@ _aptitude()
COMPREPLY=($(compgen -W '${COMPREPLY[@]}' -- "$cur"))
else
COMPREPLY=($(compgen -W 'update upgrade safe-upgrade forget-new
- clean autoclean install reinstall remove hold unhold purge markauto
- unmarkauto why why-not dist-upgrade full-upgrade download search
- show forbid-version changelog keep keep-all build-dep add-user-tag
- remove-user-tag versions' -- "$cur"))
+ clean autoclean install reinstall remove hold unhold markauto
+ unmarkauto dist-upgrade full-upgrade download search
+ show forbid-version build-dep' -- "$cur"))
fi
} &&
diff --git a/completions/rpm b/completions/rpm
index f771325a..11696037 100644
--- a/completions/rpm
+++ b/completions/rpm
@@ -14,7 +14,7 @@ _rpm_installed_packages()
# SUSE's rpmqpack is faster than rpm -qa
COMPREPLY=($(compgen -W '$(rpmqpack)' -- "$cur"))
else
- COMPREPLY=($(${1:-rpm} -qa --nodigest --nosignature \
+ COMPREPLY=($(${1:-rpm} -qa --nodigest \
--queryformat='%{NAME} ' "$cur*" 2>/dev/null))
fi
}
@@ -22,7 +22,7 @@ _rpm_installed_packages()
_rpm_groups()
{
local IFS=$'\n'
- COMPREPLY=($(compgen -W "$(${1:-rpm} -qa --nodigest --nosignature \
+ COMPREPLY=($(compgen -W "$(${1:-rpm} -qa --nodigest \
--queryformat='%{GROUP}\n' 2>/dev/null)" -- "$cur"))
}
@@ -119,7 +119,7 @@ _rpm()
# options common to all modes
local -a opts=(
- --define= --eval= --macros= --nodigest --nosignature --rcfile= --quiet
+ --define= --eval= --macros= --nodigest --rcfile= --quiet
--pipe --verbose
)
@@ -154,6 +154,7 @@ _rpm()
--obsoletes --pipe --provides --queryformat= --requires
--scripts --suggests --triggers --xml --recommends
--supplements --filetriggers --licensefiles
+ --changes-since --lastchange
)
if [[ ${words[*]} == *\ -@(*([^ -])f|-file )* ]]; then