# bash completion for wb_command

#  Copyright (C) 2018  Washington University School of Medicine
#
#  Permission is hereby granted, free of charge, to any person obtaining
#  a copy of this software and associated documentation files (the
#  "Software"), to deal in the Software without restriction, including
#  without limitation the rights to use, copy, modify, merge, publish,
#  distribute, sublicense, and/or sell copies of the Software, and to
#  permit persons to whom the Software is furnished to do so, subject to
#  the following conditions:
#
#  The above copyright notice and this permission notice shall be included
#  in all copies or substantial portions of the Software.
#
#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
#  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
#  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
#  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
#  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
#  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
#  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

#copy/symlink this file as /usr/share/bash-completion/completions/wb_shortcuts, or copy contents to ~/.bash_completion

function _wb_shortcuts ()
{
    COMPREPLY=()
    #use bash-completion's hacks to deal with the word splitting we don't want
    #we can only complete the first word, so only get cur and cword
    local cur cword
    #use only space for splitting
    _get_comp_words_by_ref -n "'"'"><=;|&(:' cur cword
    if ((cword != 1))
    then
        return 0
    fi
    local -a switches
    readarray -t switches < <(wb_shortcuts -list-functions | awk '{print $1}')
    local infoswitches=(-help -version -list-functions -all-functions-help)
    COMPREPLY=(`compgen -W "${switches[*]} ${infoswitches[*]}" -- "$cur"`)
}

complete -o filenames -o bashdefault -o default -F _wb_shortcuts wb_shortcuts
