diff --git a/drivers/completer/completer.go b/drivers/completer/completer.go index 4294eb00fef..ce2b1e2f364 100644 --- a/drivers/completer/completer.go +++ b/drivers/completer/completer.go @@ -353,6 +353,17 @@ func (c completer) complete(previousWords []string, text []rune) [][]rune { if TailMatches(IGNORE_CASE, previousWords, "CREATE", "TABLE", "*") || TailMatches(IGNORE_CASE, previousWords, "CREATE", "TEMP|TEMPORARY", "TABLE", "*") { return CompleteFromList(text, "(") } + + /* Complete ALTER */ + if TailMatches(IGNORE_CASE, previousWords, "ALTER") { + return CompleteFromList(text, "DATABASE", "FUNCTION", "INDEX", "SCHEMA", "SEQUENCE", "TABLE", "TRIGGER", "USER", "VIEW") + } + + /* Complete DROP */ + if TailMatches(IGNORE_CASE, previousWords, "DROP") { + return CompleteFromList(text, "CONSTRAINT", "COLUMN", "DATABASE", "FUNCTION", "INDEX", "SCHEMA", "SEQUENCE", "TABLE", "TRIGGER", "USER", "VIEW") + } + /* INSERT --- can be inside EXPLAIN, RULE, etc */ /* Complete INSERT with "INTO" */ if TailMatches(IGNORE_CASE, previousWords, "INSERT") { diff --git a/drivers/completer/completer_test.go b/drivers/completer/completer_test.go index ced2dd55a40..1fd67193c12 100644 --- a/drivers/completer/completer_test.go +++ b/drivers/completer/completer_test.go @@ -244,6 +244,42 @@ func TestCompleter(t *testing.T) { }, 0, }, + { + "type on alter", + "ALTER ", + 6, + []string{ + "DATABASE", + "FUNCTION", + "INDEX", + "SCHEMA", + "SEQUENCE", + "TABLE", + "TRIGGER", + "USER", + "VIEW", + }, + 0, + }, + { + "type on drop", + "DROP ", + 5, + []string{ + "CONSTRAINT", + "COLUMN", + "DATABASE", + "FUNCTION", + "INDEX", + "SCHEMA", + "SEQUENCE", + "TABLE", + "TRIGGER", + "USER", + "VIEW", + }, + 0, + }, { "TABLE Selectables", "TABLE ",