First stab
This commit is contained in:
37
completion.bash
Normal file
37
completion.bash
Normal file
@ -0,0 +1,37 @@
|
||||
#!/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
|
Reference in New Issue
Block a user