Allow tab-completion of :variable even as first word on a line.

Christoph Berg
pull/1/head
Robert Haas 15 years ago
parent d309acf201
commit 5917574539
  1. 22
      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

Loading…
Cancel
Save