mirror of
https://github.com/sbopkg/sbopkg
synced 2024-12-27 09:58:28 +01:00
bash-completion: complete -{i,b} when git (not rsync) used for repo
When git is used for repo, no file SLACKBUILDS.TXT exists. In this case complete -{i,b} by find package directories in $REPO_ROOT/$REPO_NAME/ directory.
This commit is contained in:
parent
4d0874712b
commit
134a57b601
1 changed files with 15 additions and 5 deletions
|
@ -65,10 +65,20 @@ _sbopkg()
|
|||
esac
|
||||
done
|
||||
|
||||
if [ ! -r "$REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT" ]; then
|
||||
return 0
|
||||
if [ -d "$QUEUEDIR" ]; then
|
||||
local queues=($(cd $QUEUEDIR; compgen -f -X "!*.sqf" -- "$cur"))
|
||||
fi
|
||||
|
||||
if [ -r "$REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT" ]; then
|
||||
COMPREPLY=($(sed -ne "/^SLACKBUILD NAME: $cur/{s/^SLACKBUILD NAME: //;p}" \
|
||||
$REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT)
|
||||
${queues[@]})
|
||||
elif [ -d "$REPO_ROOT/$REPO_NAME/" ]; then
|
||||
COMPREPLY=($(find $REPO_ROOT/$REPO_NAME \
|
||||
\! -path $REPO_ROOT/$REPO_NAME/'.git/*' \
|
||||
-mindepth 2 -maxdepth 2 \
|
||||
-type d -name $cur\* \
|
||||
-printf '%f\n')
|
||||
${queues[@]})
|
||||
fi
|
||||
COMPREPLY=( $( sed -ne "/^SLACKBUILD NAME: $cur/{s/^SLACKBUILD NAME: //;p}"\
|
||||
$REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT )
|
||||
$( cd $QUEUEDIR; compgen -f -X "!*.sqf" -- "$cur" ) )
|
||||
} && complete -o filenames -F _sbopkg sbopkg
|
||||
|
|
Loading…
Reference in a new issue