From b0c066297bdac901a13a5a900a197697a026b357 Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Wed, 1 Sep 2021 22:01:15 +0900 Subject: [PATCH] Improve tab-completion for CREATE PUBLICATION. Author: Peter Smith Reviewed-by: Vignesh C Discussion: https://postgr.es/m/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 76462412db5..75b867685a6 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -2691,8 +2691,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", "("))