2018-02-22 20:06:51 +01:00
|
|
|
# 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')
|
2024-10-15 11:18:33 +02:00
|
|
|
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"
|
2018-02-22 20:06:51 +01:00
|
|
|
|
|
|
|
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
|