Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Allow tab-completion of :variable even as first word on a line.
authorRobert Haas <rhaas@postgresql.org>
Fri, 11 Feb 2011 21:57:58 +0000 (16:57 -0500)
committerRobert Haas <rhaas@postgresql.org>
Fri, 11 Feb 2011 21:57:58 +0000 (16:57 -0500)
Christoph Berg

src/bin/psql/tab-complete.c

index c01b02ae3a11fab9f9590ddcef7d36be00df0639..2c656068f827db45bdb04d0792d79dcdff2072b3 100644 (file)
@@ -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