diff --git a/obi_completion_script.sh b/obi_completion_script.sh new file mode 100755 index 0000000..9785cc5 --- /dev/null +++ b/obi_completion_script.sh @@ -0,0 +1,26 @@ +#/usr/bin/env bash + +_obi_comp () +{ + local cur prev + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + if [ "${#COMP_WORDS[@]}" = "2" ]; then + COMPREPLY=($(compgen -W "align alignpairedend annotate build_ref_db clean_dms clean count ecopcr ecotag export grep head history import less ls ngsfilter sort stats tail test uniq" "${COMP_WORDS[1]}")) + else + if [[ "$cur" == *VIEWS* ]]; then + COMPREPLY=($(compgen -o plusdirs -f -X '!*.obiview' -- "${COMP_WORDS[COMP_CWORD]}")) + elif [[ -d $cur.obidms ]]; then + COMPREPLY=($(compgen -o plusdirs -f $cur.obidms/VIEWS/ -- "${COMP_WORDS[COMP_CWORD]}"), $(compgen -o plusdirs -f -X '!*.obidms/' -- "${COMP_WORDS[COMP_CWORD]}")) + elif [[ "$cur" == *obidms* ]]; then + COMPREPLY=($(compgen -o plusdirs -f $cur/VIEWS/ -- "${COMP_WORDS[COMP_CWORD]}")) + else + COMPREPLY=($(compgen -o plusdirs -f -X '!*.obidms/' -- "${COMP_WORDS[COMP_CWORD]}")) + fi + if [[ "$prev" == import ]]; then + COMPREPLY+=($(compgen -f -- "${COMP_WORDS[COMP_CWORD]}")) + fi + fi +} + +complete -o nospace -F _obi_comp obi