@@ -4550,13 +4550,10 @@ match_previous_words(int pattern_id,
4550
4550
"ROUTINES IN SCHEMA" ,
4551
4551
"SEQUENCES IN SCHEMA" ,
4552
4552
"TABLES IN SCHEMA" );
4553
- else if (TailMatches ("GRANT|REVOKE" , MatchAny , "ON" , "FOREIGN" ) ||
4554
- TailMatches ("REVOKE" , "GRANT" , "OPTION" , "FOR" , MatchAny , "ON" , "FOREIGN" ))
4555
- COMPLETE_WITH ("DATA WRAPPER" , "SERVER" );
4556
4553
4557
4554
/*
4558
4555
* Complete "GRANT/REVOKE * ON DATABASE/DOMAIN/..." with a list of
4559
- * appropriate objects.
4556
+ * appropriate objects or keywords .
4560
4557
*
4561
4558
* Complete "GRANT/REVOKE * ON *" with "TO/FROM".
4562
4559
*/
@@ -4569,8 +4566,17 @@ match_previous_words(int pattern_id,
4569
4566
COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_domains );
4570
4567
else if (TailMatches ("FUNCTION" ))
4571
4568
COMPLETE_WITH_VERSIONED_SCHEMA_QUERY (Query_for_list_of_functions );
4569
+ else if (TailMatches ("FOREIGN" ))
4570
+ COMPLETE_WITH ("DATA WRAPPER" , "SERVER" );
4572
4571
else if (TailMatches ("LANGUAGE" ))
4573
4572
COMPLETE_WITH_QUERY (Query_for_list_of_languages );
4573
+ else if (TailMatches ("LARGE" ))
4574
+ {
4575
+ if (HeadMatches ("ALTER" , "DEFAULT" , "PRIVILEGES" ))
4576
+ COMPLETE_WITH ("OBJECTS" );
4577
+ else
4578
+ COMPLETE_WITH ("OBJECT" );
4579
+ }
4574
4580
else if (TailMatches ("PROCEDURE" ))
4575
4581
COMPLETE_WITH_VERSIONED_SCHEMA_QUERY (Query_for_list_of_procedures );
4576
4582
else if (TailMatches ("ROUTINE" ))
@@ -5528,7 +5534,8 @@ match_previous_words(int pattern_id,
5528
5534
COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_views );
5529
5535
else if (TailMatchesCS ("\\cd|\\e|\\edit|\\g|\\gx|\\i|\\include|"
5530
5536
"\\ir|\\include_relative|\\o|\\out|"
5531
- "\\s|\\w|\\write|\\lo_import" ))
5537
+ "\\s|\\w|\\write|\\lo_import" ) ||
5538
+ TailMatchesCS ("\\lo_export" , MatchAny ))
5532
5539
{
5533
5540
completion_charp = "\\" ;
5534
5541
completion_force_quote = false;
0 commit comments