mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-10 11:57:28 -03:00
360b917674
This naming scheme supports auto-detection and on-demand loading of completions.
See
ba109693ee/README.md (faq)
,
section "Where should I put it to be sure that interactive bash shells will find it and source it".
Previously, distro package maintainers had to rename these files manually.
56 lines
1.5 KiB
Bash
56 lines
1.5 KiB
Bash
# bash programmable completion for bitcoind(1) and bitcoin-qt(1)
|
|
# Copyright (c) 2012-2022 The Bitcoin Core developers
|
|
# Distributed under the MIT software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
_bitcoind() {
|
|
local cur prev words=() cword
|
|
local bitcoind
|
|
|
|
# save and use original argument to invoke bitcoind for -help
|
|
# it might not be in $PATH
|
|
bitcoind="$1"
|
|
|
|
COMPREPLY=()
|
|
_get_comp_words_by_ref -n = cur prev words cword
|
|
|
|
case "$cur" in
|
|
-conf=*|-pid=*|-loadblock=*|-rpccookiefile=*|-wallet=*)
|
|
cur="${cur#*=}"
|
|
_filedir
|
|
return 0
|
|
;;
|
|
-datadir=*)
|
|
cur="${cur#*=}"
|
|
_filedir -d
|
|
return 0
|
|
;;
|
|
-*=*) # prevent nonsense completions
|
|
return 0
|
|
;;
|
|
*)
|
|
|
|
# only parse -help if sensible
|
|
if [[ -z "$cur" || "$cur" =~ ^- ]]; then
|
|
local helpopts
|
|
helpopts=$($bitcoind -help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
|
|
COMPREPLY=( $( compgen -W "$helpopts" -- "$cur" ) )
|
|
fi
|
|
|
|
# Prevent space if an argument is desired
|
|
if [[ $COMPREPLY == *= ]]; then
|
|
compopt -o nospace
|
|
fi
|
|
return 0
|
|
;;
|
|
esac
|
|
} &&
|
|
complete -F _bitcoind bitcoind bitcoin-qt
|
|
|
|
# Local variables:
|
|
# mode: shell-script
|
|
# sh-basic-offset: 4
|
|
# sh-indent-comment: t
|
|
# indent-tabs-mode: nil
|
|
# End:
|
|
# ex: ts=4 sw=4 et filetype=sh
|