mirror of
https://github.com/ACINQ/eclair.git
synced 2025-02-22 14:22:39 +01:00
Port the existing API functionalities over a new structure of HTTP endpoints, with the biggest difference being the usage of **named parameters** for the requests (responses are unchanged). RPC methods have become endpoints and the parameters for each are now passed via form-params (clients must use the header "Content-Type" : "multipart/form-data"), this allows for a clearer interpretation of the parameters and results in more elegant parsing code on the server side. It is possible to still use the old API version via a configuration key. Old API can be used by setting `eclair.api.use-old-api=true`.
39 lines
1.2 KiB
Text
39 lines
1.2 KiB
Text
# 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="getinfo connect open close forceclose updaterelayfee peers channels channel allnodes allchannels allupdates receive parseinvoice findroute findroutetonode send sendtonode checkpayment audit networkfees channelstats"
|
|
|
|
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
|