1
0
mirror of https://github.com/ACINQ/eclair.git synced 2024-11-19 01:43:22 +01:00
eclair/contrib/eclair-cli.bash-completion

40 lines
1.7 KiB
Plaintext
Raw Normal View History

# bash completion for eclair-cli
# copy to /etc/bash_completion.d/
# created by Stadicus
_eclair-cli()
{
local cur prev opts cmds
# eclair-cli might not be in $PATH
local eclaircli
ecli="$1"
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case "$cur" in
-*=*)
return 0
;;
*)
# works fine, but is too slow at the moment.
# allopts=$($eclaircli help 2>&1 | awk '$1 ~ /^"/ { sub(/,/, ""); print $1}' | sed 's/[":]//g')
allopts="allchannels allupdates audit bumpforceclose channel channelbalances channels channelstats close closedchannels connect cpfpbumpfees createinvoice deleteinvoice disconnect enableFromFutureHtlc findroute findroutebetweennodes findroutetonode forceclose getdescriptors getinfo getinvoice getmasterxpub getnewaddress getreceivedinfo getsentinfo globalbalance listinvoices listpendinginvoices listreceivedpayments networkfees node nodes onchainbalance onchaintransactions open parseinvoice payinvoice payoffer peers rbfopen sendonchain sendonionmessage sendtonode sendtoroute signmessage splicein spliceout stop updaterelayfee usablebalances verifymessage"
if ! [[ " $allopts " =~ " $prev " ]]; then # prevent double arguments
if [[ -z "$cur" || "$cur" =~ ^[a-z] ]]; then
opts=${allopts}
fi
fi
if [[ -z "$cur" || "$cur" =~ ^- ]]; then
cmds=$($ecli 2>&1 | awk '$1 ~ /^-/ { sub(/,/, ""); print $1}')
fi
COMPREPLY=( $(compgen -W "${cmds} ${opts}" -- ${cur}) )
esac
}
complete -F _eclair-cli eclair-cli