bash-completion.sh
branchv_0
changeset 3 202ce847990c
parent 0 7727b4d5560d
--- 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