Use _init_completion() in pkgtools, rpm2tgz, sbopkg, slackpkg, slapt

This commit is contained in:
Igor Murzov 2011-04-22 03:03:22 +04:00
parent 0af9122381
commit d3f7c16942
5 changed files with 30 additions and 48 deletions

View File

@ -6,8 +6,8 @@
have pkgtool &&
_pkgtool()
{
COMPREPLY=()
local cur="${COMP_WORDS[COMP_CWORD]}"
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--sets --ignore-tagfiles --tagfile \
--source-mounted --source_dir --target_dir --source_device' \
@ -15,9 +15,7 @@ _pkgtool()
return 0
fi
local prev=${COMP_WORDS[COMP_CWORD-1]}
case $prev in
case "$prev" in
--source_dir|--target_dir)
_filedir -d
return 0
@ -41,8 +39,8 @@ complete -F _pkgtool pkgtool
have removepkg &&
_removepkg()
{
COMPREPLY=()
local cur=`_get_cword`
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-copy -keep -preserve -warn' \
-- "$cur" ) )
@ -56,8 +54,8 @@ complete -F _removepkg removepkg
have upgradepkg &&
_upgradepkg()
{
COMPREPLY=()
local cur=`_get_cword`
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--dry-run --install-new --reinstall \
--verbose' -- "$cur") )
@ -70,17 +68,15 @@ _upgradepkg()
have installpkg &&
_installpkg()
{
COMPREPLY=()
local cur=`_get_cword`
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--warn --md5sum --root --infobox --terse \
--menu --ask --priority --tagfile' -- "$cur") )
return 0
fi
local prev=`_get_pword`
case $prev in
case "$prev" in
--root)
_filedir -d
return 0
@ -101,17 +97,15 @@ _installpkg()
have makepkg &&
_makepkg()
{
COMPREPLY=()
local cur=`_get_cword`
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-l --linkadd -p --prepend \
-c --chown' -- "$cur") )
return 0
fi
local prev=`_get_pword`
case $prev in
case "$prev" in
-l|--linkadd|-c|--chown)
COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
return 0

View File

@ -4,8 +4,9 @@ have rpm2tgz || return
_rpm2tgz()
{
COMPREPLY=()
local cur="${COMP_WORDS[COMP_CWORD]}"
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-s -S -n -r -d -c' -- "$cur" ) )
return 0

View File

@ -4,9 +4,8 @@ have sbopkg || return
_sbopkg()
{
COMPREPLY=()
local cur prev
_get_comp_words_by_ref cur prev
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-b -c -d -e -f -g -h -i -k -l \
@ -14,7 +13,7 @@ _sbopkg()
return 0
fi
case $prev in
case "$prev" in
-e)
COMPREPLY=( $( compgen -W 'ask continue stop' -- "$cur" ) )
return 0
@ -40,8 +39,6 @@ _sbopkg()
esac
local config="/etc/sbopkg/sbopkg.conf"
local words
_get_comp_words_by_ref words
for (( i=${#words[@]}-1; i>0; i-- )); do
if [[ "${words[i]}" == -f ]]; then

View File

@ -4,9 +4,8 @@ have slackpkg || return
_slackpkg()
{
COMPREPLY=()
local cur
_get_comp_words_by_ref cur
local cur prev words cword
_init_completion -n = || return
# based on `grep '\-.*\=.*)' /usr/sbin/slackpkg | cut -f1 -d\)`
if [[ "$cur" == -* ]]; then
@ -36,9 +35,7 @@ _slackpkg()
fi
. "$config"
local action words
_get_comp_words_by_ref -n "=" words
local action
for (( i=1; i<${#words[@]}; i++ )); do
if [[ "${words[i]}" != -* ]]; then
action="${words[i]}"
@ -46,7 +43,7 @@ _slackpkg()
fi
done
case $action in
case "$action" in
generate-template|search|file-search)
# argument required but no completions available
return 0

View File

@ -3,9 +3,8 @@
have slapt-get &&
_slapt_get()
{
COMPREPLY=()
local cur prev
_get_comp_words_by_ref cur prev
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--download-only -d --simulate -s \
@ -19,7 +18,7 @@ _slapt_get()
return 0
fi
case $prev in
case "$prev" in
--config|-c)
_filedir
return 0
@ -30,9 +29,7 @@ _slapt_get()
;;
esac
local words t
_get_comp_words_by_ref words
local t
# search for last action (--install|--install-set|--remove|--show|--filelist)
for (( i=${#words[@]}-1; i>0; i-- )); do
if [[ ${words[i]} == -@(i|-install|-show) ]]; then
@ -71,9 +68,8 @@ _slapt_get()
have slapt-src &&
_slapt_src()
{
COMPREPLY=()
local cur prev
_get_comp_words_by_ref cur prev
local cur prev words cword
_init_completion || return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--update -u --list -l --clean -e \
@ -83,7 +79,7 @@ _slapt_src()
return 0
fi
case $prev in
case "$prev" in
--config|-c)
_filedir
return 0
@ -94,9 +90,6 @@ _slapt_src()
;;
esac
local words
_get_comp_words_by_ref words
local t
# search for last action (-i|-w|-b|-f)
for (( i=${#words[@]}-1; i>0; i-- )); do