aboutsummaryrefslogtreecommitdiff
path: root/contrib/completions/fish/bitcoin-tx.fish
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/completions/fish/bitcoin-tx.fish')
-rw-r--r--contrib/completions/fish/bitcoin-tx.fish65
1 files changed, 65 insertions, 0 deletions
diff --git a/contrib/completions/fish/bitcoin-tx.fish b/contrib/completions/fish/bitcoin-tx.fish
new file mode 100644
index 0000000000..0ff262b948
--- /dev/null
+++ b/contrib/completions/fish/bitcoin-tx.fish
@@ -0,0 +1,65 @@
+# Disable files from being included in completions by default
+complete --command bitcoin-tx --no-files
+
+# Modified version of __fish_seen_subcommand_from
+# Uses regex to detect cmd= syntax
+function __fish_bitcoin_seen_cmd
+ set -l cmd (commandline -oc)
+ set -e cmd[1]
+ for i in $cmd
+ for j in $argv
+ if string match --quiet --regex -- "^$j.*" $i
+ return 0
+ end
+ end
+ end
+ return 1
+end
+
+# Extract options
+function __fish_bitcoin_tx_get_options
+ set --local cmd (commandline -oc)[1]
+ if string match --quiet --regex -- '^-help$|-\?$' $cmd
+ return
+ end
+
+ for option in ($cmd -help 2>&1 | string match -r '^ -.*' | string replace -r ' -' '-' | string replace -r '=.*' '=')
+ echo $option
+ end
+end
+
+# Extract commands
+function __fish_bitcoin_tx_get_commands
+ argparse 'commandsonly' -- $argv
+ set --local cmd (commandline -oc)[1]
+ set --local commands
+
+ if set -q _flag_commandsonly
+ set --append commands ($cmd -help | sed -e '1,/Commands:/d' -e 's/=/=\t/' -e 's/(=/=/' -e '/^ [a-z]/ p' -e d | string replace -r '\ \ ' '' | string replace -r '=.*' '')
+ else
+ set --append commands ($cmd -help | sed -e '1,/Commands:/d' -e 's/=/=\t/' -e 's/(=/=/' -e '/^ [a-z]/ p' -e d | string replace -r '\ \ ' '')
+ end
+
+ for command in $commands
+ echo $command
+ end
+end
+
+# Add options
+complete \
+ --command bitcoin-tx \
+ --condition "not __fish_bitcoin_seen_cmd (__fish_bitcoin_tx_get_commands --commandsonly)" \
+ --arguments "(__fish_bitcoin_tx_get_options)" \
+ --no-files
+
+# Add commands
+complete \
+ --command bitcoin-tx \
+ --arguments "(__fish_bitcoin_tx_get_commands)" \
+ --no-files
+
+# Add file completions for load and set commands
+complete \
+ --command bitcoin-tx \
+ --condition 'string match --regex -- "(load|set)=" (commandline -pt)' \
+ --force-files