@@ -714,7 +714,8 @@ psql_completion(char *text, int start, int end)
714
714
* prev2_wd ,
715
715
* prev3_wd ,
716
716
* prev4_wd ,
717
- * prev5_wd ;
717
+ * prev5_wd ,
718
+ * prev6_wd ;
718
719
719
720
static const char * const sql_commands [] = {
720
721
"ABORT" , "ALTER" , "ANALYZE" , "BEGIN" , "CHECKPOINT" , "CLOSE" , "CLUSTER" ,
@@ -762,6 +763,7 @@ psql_completion(char *text, int start, int end)
762
763
prev3_wd = previous_word (start , 2 );
763
764
prev4_wd = previous_word (start , 3 );
764
765
prev5_wd = previous_word (start , 4 );
766
+ prev6_wd = previous_word (start , 5 );
765
767
766
768
/* If a backslash command was started, continue */
767
769
if (text [0 ] == '\\' )
@@ -1547,13 +1549,23 @@ psql_completion(char *text, int start, int end)
1547
1549
pg_strcasecmp (prev_wd , "ON" ) == 0 )
1548
1550
{
1549
1551
static const char * const list_COMMENT [] =
1550
- {"CAST" , "COLLATION" , "CONVERSION" , "DATABASE" , "FOREIGN TABLE" , "INDEX" , "LANGUAGE" , "RULE" , "SCHEMA" ,
1552
+ {"CAST" , "COLLATION" , "CONVERSION" , "DATABASE" , "FOREIGN DATA WRAPPER" ,
1553
+ "SERVER" , "FOREIGN TABLE" , "INDEX" , "LANGUAGE" , "RULE" , "SCHEMA" ,
1551
1554
"SEQUENCE" , "TABLE" , "TYPE" , "VIEW" , "COLUMN" , "AGGREGATE" , "FUNCTION" ,
1552
1555
"OPERATOR" , "TRIGGER" , "CONSTRAINT" , "DOMAIN" , "LARGE OBJECT" ,
1553
1556
"TABLESPACE" , "TEXT SEARCH" , "ROLE" , NULL };
1554
1557
1555
1558
COMPLETE_WITH_LIST (list_COMMENT );
1556
1559
}
1560
+ else if (pg_strcasecmp (prev3_wd , "COMMENT" ) == 0 &&
1561
+ pg_strcasecmp (prev2_wd , "ON" ) == 0 &&
1562
+ pg_strcasecmp (prev_wd , "FOREIGN" ) == 0 )
1563
+ {
1564
+ static const char * const list_TRANS2 [] =
1565
+ {"DATA WRAPPER" , "TABLE" , NULL };
1566
+
1567
+ COMPLETE_WITH_LIST (list_TRANS2 );
1568
+ }
1557
1569
else if (pg_strcasecmp (prev4_wd , "COMMENT" ) == 0 &&
1558
1570
pg_strcasecmp (prev3_wd , "ON" ) == 0 &&
1559
1571
pg_strcasecmp (prev2_wd , "TEXT" ) == 0 &&
@@ -1566,6 +1578,8 @@ psql_completion(char *text, int start, int end)
1566
1578
}
1567
1579
else if ((pg_strcasecmp (prev4_wd , "COMMENT" ) == 0 &&
1568
1580
pg_strcasecmp (prev3_wd , "ON" ) == 0 ) ||
1581
+ (pg_strcasecmp (prev6_wd , "COMMENT" ) == 0 &&
1582
+ pg_strcasecmp (prev5_wd , "ON" ) == 0 ) ||
1569
1583
(pg_strcasecmp (prev5_wd , "ON" ) == 0 &&
1570
1584
pg_strcasecmp (prev4_wd , "TEXT" ) == 0 &&
1571
1585
pg_strcasecmp (prev3_wd , "SEARCH" ) == 0 ))
0 commit comments