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')
|
2023-09-14 17:07:06 +02:00
|
|
|
allopts="getinfo connect open cpfpbumpfees close forceclose bumpforceclose updaterelayfee peers channels channel closedchannels allnodes allchannels allupdates findroute findroutetonode findroutebetweennodes parseinvoice payinvoice sendtonode getsentinfo createinvoice getinvoice listinvoices listpendinginvoices listreceivedpayments getreceivedinfo audit networkfees channelstats"
|
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
|