--- a/bash-completion.sh Sat Dec 10 20:41:40 2022 +0100
+++ b/bash-completion.sh Tue Dec 13 02:07:00 2022 +0100
@@ -22,17 +22,50 @@
w2=${COMP_WORDS[COMP_CWORD-2]}
w3=${COMP_WORDS[COMP_CWORD-3]}
- WRITE_HEADER=(
+ BOOLEAN_VALUES=(
"true"
"false"
)
- if [[ "$w1" == "--write-header" ]]; then COMPREPLY=($(compgen -W "${WRITE_HEADER[*]}" -- "$w0"))
- elif [[ "$w1" == "--write-types" ]]; then COMPREPLY=($(compgen -W "${WRITE_HEADER[*]}" -- "$w0"))
+ INSERT_MODES=(
+ "single"
+ "multi"
+ )
+
+ RELPIPE_TYPES=(
+ "boolean"
+ "integer"
+ "string"
+ )
+
+ SQL_TYPES=(
+ "text"
+ "integer"
+ "bigint"
+ "numeric"
+ "varchar(20)"
+ "bit"
+ "date"
+ "time"
+ "timestamp"
+ )
+
+ if [[ "$w1" == "--relation" && "x$w0" == "x" ]]; then COMPREPLY=("'.*'")
+ elif [[ "$w1" == "--write-ddl" ]]; then COMPREPLY=($(compgen -W "${BOOLEAN_VALUES[*]}" -- "$w0"))
+ elif [[ "$w1" == "--write-dml" ]]; then COMPREPLY=($(compgen -W "${BOOLEAN_VALUES[*]}" -- "$w0"))
+ elif [[ "$w1" == "--write-column-names" ]]; then COMPREPLY=($(compgen -W "${BOOLEAN_VALUES[*]}" -- "$w0"))
+ elif [[ "$w1" == "--insert-mode" ]]; then COMPREPLY=($(compgen -W "${INSERT_MODES[*]}" -- "$w0"))
+ elif [[ "$w1" == "--type-cast" && "x$w0" == "x" ]]; then COMPREPLY=("'.*'")
+ elif [[ "$w2" == "--type-cast" ]]; then COMPREPLY=($(compgen -W "${RELPIPE_TYPES[*]}" -- "$w0"))
+ elif [[ "$w3" == "--type-cast" ]]; then COMPREPLY=($(compgen -W "${SQL_TYPES[*]}" -- "$w0"))
else
OPTIONS=(
- "--write-header"
- "--write-types"
+ "--relation"
+ "--write-ddl"
+ "--write-dml"
+ "--write-column-names"
+ "--insert-mode"
+ "--type-cast"
)
COMPREPLY=($(compgen -W "${OPTIONS[*]}" -- "$w0"))
fi