blob: 732516583b5c188d580e091b639c5368140a4ee1 [file] [log] [blame]
# vi:syntax=sh
#
# completion script for rr commands (to be sourced)
_rr_subcmd_completion() {
local cmd=$1
local short_opts=$(rr help $cmd | sed -n 's/\s*-\([a-zA-Z]\),.*/-\1/p')
local long_opts=$(rr help $cmd | sed -n 's/.*--\([^= ]*\).*/--\1/p')
echo "$short_opts" "$long_opts"
}
_rr_completion() {
COMPREPLY=()
local rr_commands="$(rr --list-commands | cut -s -d ' ' -f 3)"
# completion for rr
if [ $COMP_CWORD -eq 1 ]; then
COMPREPLY=( $( compgen -W "$rr_commands" -- "${COMP_WORDS[1]}" ) )
return
fi
# completion for rr <command>'s options
local cmd="$(echo "${COMP_WORDS[1]}" | tr -d '[:space:]')"
if [ "$(echo $rr_commands | grep -w "$cmd")" ] ; then
COMPREPLY=( $( compgen -W "$(_rr_subcmd_completion "$cmd")" -- "${COMP_WORDS[COMP_CWORD]}" ) )
fi
}
complete -F _rr_completion rr