|
Packit |
8462d6 |
# bash completion for sbopkg(8) -*- shell-script -*-
|
|
Packit |
8462d6 |
|
|
Packit |
8462d6 |
_sbopkg()
|
|
Packit |
8462d6 |
{
|
|
Packit |
8462d6 |
local cur prev words cword
|
|
Packit |
8462d6 |
_init_completion || return
|
|
Packit |
8462d6 |
|
|
Packit |
8462d6 |
if [[ "$cur" == -* ]]; then
|
|
Packit |
8462d6 |
COMPREPLY=( $( compgen -W '$( _parse_help "$1" -h )' -- "$cur" ) )
|
|
Packit |
8462d6 |
[[ $COMPREPLY ]] && return
|
|
Packit |
8462d6 |
fi
|
|
Packit |
8462d6 |
|
|
Packit |
8462d6 |
case "$prev" in
|
|
Packit |
8462d6 |
-e)
|
|
Packit |
8462d6 |
COMPREPLY=( $( compgen -W 'ask continue stop' -- "$cur" ) )
|
|
Packit |
8462d6 |
return
|
|
Packit |
8462d6 |
;;
|
|
Packit |
8462d6 |
-f)
|
|
Packit |
8462d6 |
_filedir
|
|
Packit |
8462d6 |
return
|
|
Packit |
8462d6 |
;;
|
|
Packit |
8462d6 |
-d)
|
|
Packit |
8462d6 |
_filedir -d
|
|
Packit |
8462d6 |
return
|
|
Packit |
8462d6 |
;;
|
|
Packit |
8462d6 |
-V)
|
|
Packit |
8462d6 |
COMPREPLY=( $( compgen -W "?
|
|
Packit |
8462d6 |
$( sbopkg -V ? 2>&1 | cut -s -f1 )" -- "$cur" ) )
|
|
Packit |
8462d6 |
return
|
|
Packit |
8462d6 |
;;
|
|
Packit |
8462d6 |
-i|-b)
|
|
Packit |
8462d6 |
;;
|
|
Packit |
8462d6 |
*)
|
|
Packit |
8462d6 |
return
|
|
Packit |
8462d6 |
;;
|
|
Packit |
8462d6 |
esac
|
|
Packit |
8462d6 |
|
|
Packit |
8462d6 |
local i config
|
|
Packit |
8462d6 |
config="/etc/sbopkg/sbopkg.conf"
|
|
Packit |
8462d6 |
for (( i=${#words[@]}-1; i>0; i-- )); do
|
|
Packit |
8462d6 |
if [[ "${words[i]}" == -f ]]; then
|
|
Packit |
8462d6 |
config="${words[i+1]}"
|
|
Packit |
8462d6 |
__expand_tilde_by_ref config
|
|
Packit |
8462d6 |
break
|
|
Packit |
8462d6 |
fi
|
|
Packit |
8462d6 |
done
|
|
Packit |
8462d6 |
|
|
Packit |
8462d6 |
[[ -r "$config" ]] || return
|
|
Packit |
8462d6 |
. $config
|
|
Packit |
8462d6 |
|
|
Packit |
8462d6 |
for (( i=1; i<${#words[@]}; i++ )); do
|
|
Packit |
8462d6 |
case "${words[i]}" in
|
|
Packit |
8462d6 |
-V)
|
|
Packit |
8462d6 |
REPO_NAME="${words[i+1]%%/*}"
|
|
Packit |
8462d6 |
REPO_BRANCH="${words[i+1]#*/}"
|
|
Packit |
8462d6 |
;;
|
|
Packit |
8462d6 |
-d)
|
|
Packit |
8462d6 |
REPO_ROOT="${words[i+1]}"
|
|
Packit |
8462d6 |
;;
|
|
Packit |
8462d6 |
esac
|
|
Packit |
8462d6 |
done
|
|
Packit |
8462d6 |
[[ -r $REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT ]] || return
|
|
Packit |
8462d6 |
|
|
Packit |
8462d6 |
COMPREPLY=( $( command sed -ne "/^SLACKBUILD NAME: $cur/{s/^SLACKBUILD NAME: //;p}"\
|
|
Packit |
8462d6 |
$REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT )
|
|
Packit |
8462d6 |
$( cd $QUEUEDIR; compgen -f -X "!*.sqf" -- "$cur" ) )
|
|
Packit |
8462d6 |
} &&
|
|
Packit |
8462d6 |
complete -F _sbopkg sbopkg
|
|
Packit |
8462d6 |
|
|
Packit |
8462d6 |
# ex: filetype=sh
|