From f782b494ccf3915bee45c1d1e04a2557b4da6a7a Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Tue, 13 Jul 2021 15:38:36 +1000 Subject: [PATCH v18 1/2] fix - tab auto-complete CREATE PUBLICATION Fixes some missing tab auto-completes. Discussion: https://www.postgresql.org/message-id/CAHut+Ps-vkmnWAShWSRVCB3gx8aM=bFoDqWgBNTzofK0q1LpwA@mail.gmail.com --- src/bin/psql/tab-complete.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 0ebd5aa..86a8120 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -2637,8 +2637,13 @@ psql_completion(const char *text, int start, int end) COMPLETE_WITH("FOR TABLE", "FOR ALL TABLES", "WITH ("); else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR")) COMPLETE_WITH("TABLE", "ALL TABLES"); - /* Complete "CREATE PUBLICATION FOR TABLE , ..." */ - else if (HeadMatches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE")) + else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "ALL")) + COMPLETE_WITH("TABLES"); + else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "ALL", "TABLES") + || Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE", MatchAny)) + COMPLETE_WITH("WITH ("); + /* Complete "CREATE PUBLICATION FOR TABLE" with "
, ..." */ + else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE")) COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL); /* Complete "CREATE PUBLICATION [...] WITH" */ else if (HeadMatches("CREATE", "PUBLICATION") && TailMatches("WITH", "(")) -- 1.8.3.1