#-*- mode: shell-script;-*- have mdb-export && _mdb_export() { local cur prev COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} if [[ "$prev" == -@(d|R|q|X|D|N) ]] ; then return 0 elif [[ "$prev" == -I ]] ; then COMPREPLY=( $( compgen -W 'access sybase oracle postgres mysql' -- $cur ) ) elif [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-T -H -d -R -Q -q -X -I -D -N' -- $cur ) ) elif [[ "$prev" == *@(mdb|mdw|accdb) ]] ; then local dbname local tablenames dbname=$prev __expand_tilde_by_ref dbname tablenames=$(eval mdb-tables -S -d / "${dbname}" 2>/dev/null) COMPREPLY=( $( IFS=/ compgen -W "${tablenames}" -- $cur ) ) else _filedir '@(mdb|mdw|accdb)' fi return 0 } && complete -F _mdb_export mdb-export have mdb-hexdump && _mdb_hexdump() { local cur COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} if (( COMP_CWORD == 1 )); then _filedir '@(mdb|mdw|accdb)' fi return 0 } && complete -F _mdb_hexdump mdb-hexdump have mdb-parsecsv && _mdb_parsecsv() { local cur COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} if (( COMP_CWORD == 1 )); then _filedir '@(txt|csv)' fi return 0 } && complete -F _mdb_parsecsv mdb-parsecsv have mdb-prop && _mdb_prop() { local cur COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} if (( COMP_CWORD == 1 )); then _filedir '@(mdb|mdw|accdb)' elif (( COMP_CWORD == 2 )); then local dbname local tablenames dbname=${COMP_WORDS[1]} __expand_tilde_by_ref dbname tablenames=$(eval mdb-tables -S -d / "${dbname}" 2>/dev/null) COMPREPLY=( $( IFS=/ compgen -W "${tablenames}" -- $cur ) ) elif (( COMP_CWORD == 3 )); then COMPREPLY=( $( compgen -W 'Lv LvProp LvModule LvExtra' -- $cur ) ) fi return 0 } && complete -F _mdb_prop mdb-prop have mdb-schema && _mdb_schema() { local cur prev COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} if [[ "$prev" == -@(T|table|N) ]] ; then return 0 elif [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-T --table -N \ --drop-table --no-drop-table \ --not-null --no-not-null \ --default-values --no-default-values \ --not-empty --no-not-empty \ --indexes --no-indexes \ --relations --no-relations' -- $cur ) ) elif [[ "$prev" == @(*mdb|*mdw|*accdb) ]]; then COMPREPLY=( $( compgen -W 'access sybase oracle postgres mysql' -- $cur ) ) else _filedir '@(mdb|mdw|accdb)' fi return 0 } && complete -F _mdb_schema mdb-schema have mdb-sql && _mdb_sql() { local cur prev COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} if [[ "$prev" == -d ]] ; then return 0 elif [[ "$prev" == -@(i|o) ]] ; then _filedir elif [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-H -f -p -d -i -o' -- $cur ) ) else _filedir '@(mdb|mdw|accdb)' fi return 0 } && complete -F _mdb_sql mdb-sql have mdb-tables && _mdb_tables() { local cur prev COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} if [[ "$prev" == -d ]]; then return 0 elif [[ "$prev" == -t ]]; then COMPREPLY=( $( compgen -W 'form table macro systable report query linkedtable module relationship dbprop any all' -- $cur ) ) return 0 elif [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-S -1 -d -t' -- $cur ) ) else _filedir '@(mdb|mdw|accdb)' fi return 0 } && complete -F _mdb_tables mdb-tables have mdb-ver && _mdb_ver() { local cur COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-M' -- $cur ) ) else _filedir '@(mdb|mdw|accdb)' fi return 0 } && complete -F _mdb_ver mdb-ver