1
0
Fork 0

added script for generating fish shell completions

This commit is contained in:
jsteemann 2016-06-16 19:36:06 +02:00
parent 1eff077480
commit 1ac39f9f86
1 changed files with 34 additions and 0 deletions

34
scripts/buildCompletionsFish.sh Executable file
View File

@ -0,0 +1,34 @@
#!/bin/bash
if [[ "$1" == "" ]]; then
echo "usage $0 outfile"
exit 1
fi
out="$1"
echo "" > $out
progs="arangobench arangosh arangoimp arangodump arangorestore arangod"
for progname in $progs
do
# find the executable
# check if the executable exists
if [[ -f "build/bin/$progname" ]]; then
executable="build/bin/$progname"
# setup the help command string
command="--help-all"
# set up the list of completions for the executable
echo "# completions for $progname" >> "$out"
completions="`\"$executable\" $command`"
(echo "$completions" | grep "^ " | awk '/^ --/{if (x)print x;x="";}{x=(!x)?$0:x" "$0;}END{print x;}' | sed -e "s/ \+/ /g" | sed -e "s/(default:.*)//g" | sed -e "s/(current:.*)//g" | sed -e "s/<[a-zA-Z0-9]\+>//g" | tr -d "'" | sed -e "s/^ \+--\([a-zA-Z0-9.\-]\+\) \+\(.\+\)$/complete --command $progname -l '\\1' -d '\\2'/g" | sed -e "s/ \+'$/'/g") >> "$out"
echo "" >> "$out"
fi
done
echo "completions stored in file $out"
echo "now copy this file to /etc/bash_completion.d/arangodb"