Use _init_completion() in pkgtools, rpm2tgz, sbopkg, slackpkg, slapt
This commit is contained in:
parent
0af9122381
commit
d3f7c16942
@ -6,8 +6,8 @@
|
|||||||
have pkgtool &&
|
have pkgtool &&
|
||||||
_pkgtool()
|
_pkgtool()
|
||||||
{
|
{
|
||||||
COMPREPLY=()
|
local cur prev words cword
|
||||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
_init_completion || return
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
COMPREPLY=( $( compgen -W '--sets --ignore-tagfiles --tagfile \
|
COMPREPLY=( $( compgen -W '--sets --ignore-tagfiles --tagfile \
|
||||||
--source-mounted --source_dir --target_dir --source_device' \
|
--source-mounted --source_dir --target_dir --source_device' \
|
||||||
@ -15,9 +15,7 @@ _pkgtool()
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local prev=${COMP_WORDS[COMP_CWORD-1]}
|
case "$prev" in
|
||||||
|
|
||||||
case $prev in
|
|
||||||
--source_dir|--target_dir)
|
--source_dir|--target_dir)
|
||||||
_filedir -d
|
_filedir -d
|
||||||
return 0
|
return 0
|
||||||
@ -41,8 +39,8 @@ complete -F _pkgtool pkgtool
|
|||||||
have removepkg &&
|
have removepkg &&
|
||||||
_removepkg()
|
_removepkg()
|
||||||
{
|
{
|
||||||
COMPREPLY=()
|
local cur prev words cword
|
||||||
local cur=`_get_cword`
|
_init_completion || return
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
COMPREPLY=( $( compgen -W '-copy -keep -preserve -warn' \
|
COMPREPLY=( $( compgen -W '-copy -keep -preserve -warn' \
|
||||||
-- "$cur" ) )
|
-- "$cur" ) )
|
||||||
@ -56,8 +54,8 @@ complete -F _removepkg removepkg
|
|||||||
have upgradepkg &&
|
have upgradepkg &&
|
||||||
_upgradepkg()
|
_upgradepkg()
|
||||||
{
|
{
|
||||||
COMPREPLY=()
|
local cur prev words cword
|
||||||
local cur=`_get_cword`
|
_init_completion || return
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
COMPREPLY=( $( compgen -W '--dry-run --install-new --reinstall \
|
COMPREPLY=( $( compgen -W '--dry-run --install-new --reinstall \
|
||||||
--verbose' -- "$cur") )
|
--verbose' -- "$cur") )
|
||||||
@ -70,17 +68,15 @@ _upgradepkg()
|
|||||||
have installpkg &&
|
have installpkg &&
|
||||||
_installpkg()
|
_installpkg()
|
||||||
{
|
{
|
||||||
COMPREPLY=()
|
local cur prev words cword
|
||||||
local cur=`_get_cword`
|
_init_completion || return
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
COMPREPLY=( $( compgen -W '--warn --md5sum --root --infobox --terse \
|
COMPREPLY=( $( compgen -W '--warn --md5sum --root --infobox --terse \
|
||||||
--menu --ask --priority --tagfile' -- "$cur") )
|
--menu --ask --priority --tagfile' -- "$cur") )
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local prev=`_get_pword`
|
case "$prev" in
|
||||||
|
|
||||||
case $prev in
|
|
||||||
--root)
|
--root)
|
||||||
_filedir -d
|
_filedir -d
|
||||||
return 0
|
return 0
|
||||||
@ -101,17 +97,15 @@ _installpkg()
|
|||||||
have makepkg &&
|
have makepkg &&
|
||||||
_makepkg()
|
_makepkg()
|
||||||
{
|
{
|
||||||
COMPREPLY=()
|
local cur prev words cword
|
||||||
local cur=`_get_cword`
|
_init_completion || return
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
COMPREPLY=( $( compgen -W '-l --linkadd -p --prepend \
|
COMPREPLY=( $( compgen -W '-l --linkadd -p --prepend \
|
||||||
-c --chown' -- "$cur") )
|
-c --chown' -- "$cur") )
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local prev=`_get_pword`
|
case "$prev" in
|
||||||
|
|
||||||
case $prev in
|
|
||||||
-l|--linkadd|-c|--chown)
|
-l|--linkadd|-c|--chown)
|
||||||
COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
|
COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
|
||||||
return 0
|
return 0
|
||||||
|
@ -4,8 +4,9 @@ have rpm2tgz || return
|
|||||||
|
|
||||||
_rpm2tgz()
|
_rpm2tgz()
|
||||||
{
|
{
|
||||||
COMPREPLY=()
|
local cur prev words cword
|
||||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
_init_completion || return
|
||||||
|
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
COMPREPLY=( $( compgen -W '-s -S -n -r -d -c' -- "$cur" ) )
|
COMPREPLY=( $( compgen -W '-s -S -n -r -d -c' -- "$cur" ) )
|
||||||
return 0
|
return 0
|
||||||
|
@ -4,9 +4,8 @@ have sbopkg || return
|
|||||||
|
|
||||||
_sbopkg()
|
_sbopkg()
|
||||||
{
|
{
|
||||||
COMPREPLY=()
|
local cur prev words cword
|
||||||
local cur prev
|
_init_completion || return
|
||||||
_get_comp_words_by_ref cur prev
|
|
||||||
|
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
COMPREPLY=( $( compgen -W '-b -c -d -e -f -g -h -i -k -l \
|
COMPREPLY=( $( compgen -W '-b -c -d -e -f -g -h -i -k -l \
|
||||||
@ -14,7 +13,7 @@ _sbopkg()
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case $prev in
|
case "$prev" in
|
||||||
-e)
|
-e)
|
||||||
COMPREPLY=( $( compgen -W 'ask continue stop' -- "$cur" ) )
|
COMPREPLY=( $( compgen -W 'ask continue stop' -- "$cur" ) )
|
||||||
return 0
|
return 0
|
||||||
@ -40,8 +39,6 @@ _sbopkg()
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
local config="/etc/sbopkg/sbopkg.conf"
|
local config="/etc/sbopkg/sbopkg.conf"
|
||||||
local words
|
|
||||||
_get_comp_words_by_ref words
|
|
||||||
|
|
||||||
for (( i=${#words[@]}-1; i>0; i-- )); do
|
for (( i=${#words[@]}-1; i>0; i-- )); do
|
||||||
if [[ "${words[i]}" == -f ]]; then
|
if [[ "${words[i]}" == -f ]]; then
|
||||||
|
@ -4,9 +4,8 @@ have slackpkg || return
|
|||||||
|
|
||||||
_slackpkg()
|
_slackpkg()
|
||||||
{
|
{
|
||||||
COMPREPLY=()
|
local cur prev words cword
|
||||||
local cur
|
_init_completion -n = || return
|
||||||
_get_comp_words_by_ref cur
|
|
||||||
|
|
||||||
# based on `grep '\-.*\=.*)' /usr/sbin/slackpkg | cut -f1 -d\)`
|
# based on `grep '\-.*\=.*)' /usr/sbin/slackpkg | cut -f1 -d\)`
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
@ -36,9 +35,7 @@ _slackpkg()
|
|||||||
fi
|
fi
|
||||||
. "$config"
|
. "$config"
|
||||||
|
|
||||||
local action words
|
local action
|
||||||
_get_comp_words_by_ref -n "=" words
|
|
||||||
|
|
||||||
for (( i=1; i<${#words[@]}; i++ )); do
|
for (( i=1; i<${#words[@]}; i++ )); do
|
||||||
if [[ "${words[i]}" != -* ]]; then
|
if [[ "${words[i]}" != -* ]]; then
|
||||||
action="${words[i]}"
|
action="${words[i]}"
|
||||||
@ -46,7 +43,7 @@ _slackpkg()
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
case $action in
|
case "$action" in
|
||||||
generate-template|search|file-search)
|
generate-template|search|file-search)
|
||||||
# argument required but no completions available
|
# argument required but no completions available
|
||||||
return 0
|
return 0
|
||||||
|
@ -3,9 +3,8 @@
|
|||||||
have slapt-get &&
|
have slapt-get &&
|
||||||
_slapt_get()
|
_slapt_get()
|
||||||
{
|
{
|
||||||
COMPREPLY=()
|
local cur prev words cword
|
||||||
local cur prev
|
_init_completion || return
|
||||||
_get_comp_words_by_ref cur prev
|
|
||||||
|
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
COMPREPLY=( $( compgen -W '--download-only -d --simulate -s \
|
COMPREPLY=( $( compgen -W '--download-only -d --simulate -s \
|
||||||
@ -19,7 +18,7 @@ _slapt_get()
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case $prev in
|
case "$prev" in
|
||||||
--config|-c)
|
--config|-c)
|
||||||
_filedir
|
_filedir
|
||||||
return 0
|
return 0
|
||||||
@ -30,9 +29,7 @@ _slapt_get()
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
local words t
|
local t
|
||||||
_get_comp_words_by_ref words
|
|
||||||
|
|
||||||
# search for last action (--install|--install-set|--remove|--show|--filelist)
|
# search for last action (--install|--install-set|--remove|--show|--filelist)
|
||||||
for (( i=${#words[@]}-1; i>0; i-- )); do
|
for (( i=${#words[@]}-1; i>0; i-- )); do
|
||||||
if [[ ${words[i]} == -@(i|-install|-show) ]]; then
|
if [[ ${words[i]} == -@(i|-install|-show) ]]; then
|
||||||
@ -71,9 +68,8 @@ _slapt_get()
|
|||||||
have slapt-src &&
|
have slapt-src &&
|
||||||
_slapt_src()
|
_slapt_src()
|
||||||
{
|
{
|
||||||
COMPREPLY=()
|
local cur prev words cword
|
||||||
local cur prev
|
_init_completion || return
|
||||||
_get_comp_words_by_ref cur prev
|
|
||||||
|
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
COMPREPLY=( $( compgen -W '--update -u --list -l --clean -e \
|
COMPREPLY=( $( compgen -W '--update -u --list -l --clean -e \
|
||||||
@ -83,7 +79,7 @@ _slapt_src()
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case $prev in
|
case "$prev" in
|
||||||
--config|-c)
|
--config|-c)
|
||||||
_filedir
|
_filedir
|
||||||
return 0
|
return 0
|
||||||
@ -94,9 +90,6 @@ _slapt_src()
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
local words
|
|
||||||
_get_comp_words_by_ref words
|
|
||||||
|
|
||||||
local t
|
local t
|
||||||
# search for last action (-i|-w|-b|-f)
|
# search for last action (-i|-w|-b|-f)
|
||||||
for (( i=${#words[@]}-1; i>0; i-- )); do
|
for (( i=${#words[@]}-1; i>0; i-- )); do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user