From 5917574539732a6e521a6dc260fcd7c9a258d89e Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Fri, 11 Feb 2011 16:57:58 -0500 Subject: [PATCH] Allow tab-completion of :variable even as first word on a line. Christoph Berg --- src/bin/psql/tab-complete.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index c01b02ae3a..2c656068f8 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -761,6 +761,17 @@ psql_completion(char *text, int start, int end) if (text[0] == '\\') COMPLETE_WITH_LIST(backslash_commands); + /* Variable interpolation */ + else if (text[0] == ':' && text[1] != ':') + { + if (text[1] == '\'') + matches = complete_from_variables(text, ":'", "'"); + else if (text[1] == '"') + matches = complete_from_variables(text, ":\"", "\""); + else + matches = complete_from_variables(text, ":", ""); + } + /* If no previous word, suggest one of the basic sql commands */ else if (!prev_wd) COMPLETE_WITH_LIST(sql_commands); @@ -2772,17 +2783,6 @@ psql_completion(char *text, int start, int end) ) matches = completion_matches(text, filename_completion_function); -/* Variable interpolation */ - else if (text[0] == ':' && text[1] != ':') - { - if (text[1] == '\'') - matches = complete_from_variables(text, ":'", "'"); - else if (text[1] == '"') - matches = complete_from_variables(text, ":\"", "\""); - else - matches = complete_from_variables(text, ":", ""); - } - /* * Finally, we look through the list of "things", such as TABLE, INDEX and * check if that was the previous word. If so, execute the query to get a