]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
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