Use more obscure coding :)
This commit is contained in:
parent
27b266d051
commit
79c7de608f
@ -30,7 +30,7 @@ _aptitude()
|
||||
-Z -v --verbose --purge-unused --schedule-only'
|
||||
|
||||
for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
|
||||
if [[ ${COMP_WORDS[i]} == @(install|reinstall|hold|unhold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|forbid-version|purge|remove|changelog|why|why-not|keep|keep-all|build-dep|@(add|remove)-user-tag) ]]; then
|
||||
if [[ ${COMP_WORDS[i]} == @(@(|re)install|@(|un)hold|@(|un)markauto|@(dist|full)-upgrade|download|show|forbid-version|purge|remove|changelog|why@(|-not)|keep@(|-all)|build-dep|@(add|remove)-user-tag) ]]; then
|
||||
special=${COMP_WORDS[i]}
|
||||
fi
|
||||
#exclude some mutually exclusive options
|
||||
@ -40,7 +40,7 @@ _aptitude()
|
||||
|
||||
if [[ -n "$special" ]]; then
|
||||
case $special in
|
||||
@(install|hold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|changelog|why|why-not|build-dep|@(add|remove)-user-tag))
|
||||
@(install|hold|@(|un)markauto|@(dist|full)-upgrade|download|show|changelog|why@(|-not)|build-dep|@(add|remove)-user-tag))
|
||||
COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) )
|
||||
return 0
|
||||
;;
|
||||
@ -57,14 +57,14 @@ _aptitude()
|
||||
|
||||
case $prev in
|
||||
# don't complete anything if these options are found
|
||||
@(autoclean|clean|forget-new|search|upgrade|safe-upgrade|update|keep-all))
|
||||
@(@(auto|)clean|forget-new|search|@(|safe-)upgrade|update|keep-all))
|
||||
return 0
|
||||
;;
|
||||
-S)
|
||||
_filedir
|
||||
return 0
|
||||
;;
|
||||
-@(t|-target-release|-default-release))
|
||||
-@(t|-@(target|default)-release))
|
||||
COMPREPLY=( $( apt-cache policy | \
|
||||
grep "release.o=Debian,a=$cur" | \
|
||||
sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null ) )
|
||||
|
Loading…
x
Reference in New Issue
Block a user