2015-05-30 15:40:58 +02:00
#-*- mode: shell-script;-*-
_mdb_export()
{
local cur prev
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
2020-10-25 20:49:20 +00:00
if [[ "$prev" == -@(d|-delimiter|R|-row-delimiter|q|-quote|X|-escape|N|-namespace|S|-batch-size|D|-date-format|T|-datetime-format|0|-null|h|-help) ]] ; then
2015-05-30 15:40:58 +02:00
return 0
2020-10-25 11:34:53 +01:00
elif [[ "$prev" == -@(I|-insert) ]] ; then
2020-10-25 11:24:28 +01:00
COMPREPLY=( $( compgen -W 'access sybase oracle postgres mysql sqlite' -- $cur ) )
2015-05-30 15:40:58 +02:00
elif [[ "$prev" == -@(b|-bin) ]] ; then
2020-10-25 11:24:28 +01:00
COMPREPLY=( $( compgen -W 'strip raw octal hex' -- $cur ) )
2015-05-30 15:40:58 +02:00
elif [[ "$cur" == -* ]]; then
2020-10-25 11:24:28 +01:00
COMPREPLY=( $( compgen -W '-H -d -R -Q -q -X -I -N -S -D -T -0 -B -h \
--no-header --delimiter --row-delimiter \
--no-quote --quote --escape \
2020-10-25 11:34:53 +01:00
--insert --namespace --batch-size \
2020-10-25 11:24:28 +01:00
--date-format --datetime-format \
--null --bin --boolean-words
--help' -- $cur ) )
2015-05-30 15:40:58 +02:00
elif [[ "$prev" == *@(mdb|mdw|accdb) ]] ; then
local dbname
local tablenames
2020-10-25 20:16:47 +01:00
local tablename
2015-05-30 15:40:58 +02:00
dbname=$prev
__expand_tilde_by_ref dbname
2020-10-25 20:16:47 +01:00
local IFS=$'\n'
tablenames=""
while read tablename
do
#shell-quote each line
tablenames="$tablenames"$'\n'"$(printf %q "${tablename}")"
done < <(eval mdb-tables -S -1 "${dbname}" 2>/dev/null)
compopt -o filenames
COMPREPLY=( $( compgen -W "${tablenames}" -- $cur ) )
2015-05-30 15:40:58 +02:00
else
_filedir '@(mdb|mdw|accdb)'
fi
return 0
} &&
complete -F _mdb_export mdb-export