contrib/dpkg: update completion to current API
This commit is contained in:
parent
91a8ed2c1d
commit
2491104bac
78
contrib/dpkg
78
contrib/dpkg
@ -23,8 +23,7 @@ _dpkg()
|
|||||||
local cur prev i
|
local cur prev i
|
||||||
|
|
||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
cur=`_get_cword`
|
_get_comp_words_by_ref cur prev
|
||||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
|
||||||
i=$COMP_CWORD
|
i=$COMP_CWORD
|
||||||
|
|
||||||
_expand || return 0
|
_expand || return 0
|
||||||
@ -104,9 +103,7 @@ _dpkg_reconfigure()
|
|||||||
local cur prev opt
|
local cur prev opt
|
||||||
|
|
||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
cur=`_get_cword`
|
_get_comp_words_by_ref cur prev
|
||||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
|
||||||
|
|
||||||
|
|
||||||
case $prev in
|
case $prev in
|
||||||
-f|--frontend)
|
-f|--frontend)
|
||||||
@ -123,8 +120,8 @@ _dpkg_reconfigure()
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
COMPREPLY=( $( compgen -W '-f --frontend -p --priority -a --all -u \
|
COMPREPLY=( $(compgen -W '--frontend --priority --all --unseen-only \
|
||||||
--unseen-only -h --help -s --showold --force --terse' -- "$cur" ) )
|
--help --showold --force --terse' -- "$cur" ) )
|
||||||
else
|
else
|
||||||
COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) )
|
COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) )
|
||||||
fi
|
fi
|
||||||
@ -136,18 +133,18 @@ complete -F _dpkg_reconfigure -o default dpkg-reconfigure
|
|||||||
have dpkg-source &&
|
have dpkg-source &&
|
||||||
_dpkg_source()
|
_dpkg_source()
|
||||||
{
|
{
|
||||||
local cur prev options work i action packopts unpackopts
|
local cur prev options work i action packopts unpackopts fields
|
||||||
|
|
||||||
packopts="-c -l -F -V -T -D -U -W -E -sa -i -I -sk -sp -su -sr -ss -sn -sA -sK -sP -sU -sR"
|
packopts="-c -l -F -V -T -D -U -W -E -sa -i -I -sk -sr -ss -sA -sK -sP \
|
||||||
|
-sU -sR"
|
||||||
unpackopts="-sp -sn -su"
|
unpackopts="-sp -sn -su"
|
||||||
options=`echo "-x -b $packopts $unpackopts" | xargs echo | sort -u | xargs echo`
|
options="-x -b $packopts $unpackopts"
|
||||||
|
fields="Format Source Version Binary Maintainer Uploader Architecture \
|
||||||
|
Standards-Version Build-Depends Files"
|
||||||
|
|
||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
if [ "$1" != "dpkg-source" ]; then
|
_get_comp_words_by_ref cur prev
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
cur=`_get_cword`
|
|
||||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
|
||||||
action="options"
|
action="options"
|
||||||
for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
|
for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
|
||||||
if [[ ${COMP_WORDS[$i]} == "-x" ]]; then
|
if [[ ${COMP_WORDS[$i]} == "-x" ]]; then
|
||||||
@ -158,45 +155,28 @@ _dpkg_source()
|
|||||||
action=help
|
action=help
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
# if currently seeing a complete option, return just itself.
|
|
||||||
for i in $options; do
|
|
||||||
if [ "$cur" = "$i" ]; then
|
|
||||||
COMPREPLY=( "$cur" )
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
case $action in
|
case $action in
|
||||||
unpack)
|
unpack)
|
||||||
if [[ "$cur" == - || "$cur" == -s ]]; then
|
|
||||||
COMPREPLY=( $unpackopts )
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
case $prev in
|
case $prev in
|
||||||
-x)
|
-x)
|
||||||
COMPREPLY=( $( compgen -d -- "$cur" ) \
|
_filedir -d
|
||||||
$( compgen -f -X '!*.dsc' -- "$cur" ) )
|
_filedir 'dsc'
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
COMPREPLY=( $unpackopts $(compgen -d -f -- "$cur" ) )
|
COMPREPLY=( $( compgen -W "$unpackopts" -- "$cur" ) )
|
||||||
|
_filedir -d
|
||||||
|
_filedir
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
pack)
|
pack)
|
||||||
if [ "$cur" = "-" ]; then
|
|
||||||
COMPREPLY=( $packopts )
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
if [ "$cur" = "-s" ]; then
|
|
||||||
COMPREPLY=( "-sa" "-sk" "-sp" "-su" "-sr" "-ss" "-sn" \
|
|
||||||
"-sA" "-sK" "-sP" "-sU" "-sR" )
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
case $prev in
|
case $prev in
|
||||||
-b)
|
-b)
|
||||||
COMPREPLY=( $( compgen -d -- "$cur" ) )
|
_filedir -d
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
-c|-l|-T|-i|-I)
|
-c|-l|-T|-i|-I)
|
||||||
@ -206,12 +186,13 @@ _dpkg_source()
|
|||||||
# -i: <regexp> filter out files to ignore diffs of.
|
# -i: <regexp> filter out files to ignore diffs of.
|
||||||
# -I: filter out files when building tarballs.
|
# -I: filter out files when building tarballs.
|
||||||
# return directory names and file names
|
# return directory names and file names
|
||||||
COMPREPLY=( $( compgen -d -f ) )
|
_filedir -d
|
||||||
|
_filedir
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
-F)
|
-F)
|
||||||
# -F: force change log format
|
# -F: force change log format
|
||||||
COMPREPLY=( $( ( cd /usr/lib/dpkg/parsechangelog; compgen -f "$cur" ) ) )
|
COMPREPLY=( $( command ls /usr/lib/dpkg/parsechangelog ) )
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
-V|-D)
|
-V|-D)
|
||||||
@ -229,32 +210,25 @@ _dpkg_source()
|
|||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
COMPREPLY=( Format Source Version Binary Maintainer Uploader Architecture Standards-Version Build-Depends Files )
|
COMPREPLY=( $( compgen -W "$fields" -- "$cur" ) )
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
-U)
|
-U)
|
||||||
# -U: remove a field
|
# -U: remove a field
|
||||||
# Suggest possible fieldnames
|
# Suggest possible fieldnames
|
||||||
COMPREPLY=( Format Source Version Binary Maintainer Uploader Architecture Standards-Version Build-Depends Files )
|
COMPREPLY=( $( compgen -W "$fields" -- "$cur" ) )
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
COMPREPLY=( $packopts )
|
COMPREPLY=( $( compgen -W "$packopts $unpackopts" -- "$cur" ) )
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# if seeing a partial option, return possible completions.
|
COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
|
||||||
if [ "$cur" = "-s" ]; then
|
|
||||||
COMPREPLY=( "-sa" "-sk" "-sp" "-su" "-sr" "-ss" "-sn" \
|
|
||||||
"-sA" "-sK" "-sP" "-sU" "-sR" )
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
# else return all possible options.
|
|
||||||
COMPREPLY=( $options )
|
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
Loading…
x
Reference in New Issue
Block a user