abra/completion.bash

38 lines
876 B
Bash
Raw Normal View History

2020-10-30 14:34:15 +00:00
#!/env bash
#/usr/bin/env bash
_abra_completions()
{
local CUR PREV COMMANDS_LIST COMMANDS
CUR=${COMP_WORDS[COMP_CWORD]}
PREV=${COMP_WORDS[COMP_CWORD-1]}
mapfile -t COMMANDS_LIST < <(abra command_ls)
echo "${COMMANDS_LIST[@]}"
case ${COMP_CWORD} in
1)
COMPREPLY=($(compgen -W "${COMMANDS_LIST[*]%% *}" -- ${CUR}))
;;
2)
SUB_COMMANDS=()
for COMMAND in "${COMMANDS_LIST[@]}"; do
echo $PREV
if [[ COMMAND =~ $PREV ]]; then
echo "FOUND $PREV $COMMAND"
SUB_COMMANDS+=("$COMMAND")
fi
done
COMPREPLY=($(compgen -W "${COMMANDS[*]#* }" -- ${CUR}))
;;
*)
echo $COMP_CWORD
COMPREPLY=()
;;
esac
}
complete -F _abra_completions abra