#!/usr/bin/env bash _drk() { local cur prev opts COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" # don't complet = _init_completion -n = || return opts="-h" opts+=" -c " opts+=" -v " opts+=" -V" opts+=" deposit" opts+=" features" opts+=" hello" opts+=" help" opts+=" id" opts+=" transfer" opts+=" wallet" opts+=" withdraw" # Prevent word reuse lim=$((COMP_CWORD - 1)) for i in $( seq 0 $lim ) do if [[ $opts == *"${COMP_WORDS[i]}"* ]]; then opts=${opts//${COMP_WORDS[i]}/} opts=${opts//--${COMP_WORDS[i]}/} fi done # case $prev in # -v) # opts=$(./drk --verbose | sed -e '$d') # COMPREPLY=($(compgen -W "${opts}" -- ${cur})) # return 0 # ;; # esac # # case $prev in # --V) # opts=$(./drk --version | sed -e '$d') # COMPREPLY=($(compgen -W "${opts}" -- ${cur})) # return 0 # ;; # esac COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") $(compgen -W "${opts}" -- ${cur}) ) [[ ${COMPREPLY-} == *= ]] && compopt -o nospace } complete -F _drk drk _darkfid() { local cur prev opts COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" _init_completion -n = || return opts="-h" opts+=" -c " opts+=" -v " opts+=" -V" lim=$((COMP_CWORD - 1)) for i in $( seq 0 $lim ) do if [[ $opts == *"${COMP_WORDS[i]}"* ]]; then opts=${opts//${COMP_WORDS[i]}/} opts=${opts//--${COMP_WORDS[i]}/} fi done COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") $(compgen -W "${opts}" -- ${cur}) ) [[ ${COMPREPLY-} == *= ]] && compopt -o nospace } complete -F _darkfid darkfid