psql case preserving completion
Peter Eisentraut <peter_e@gmx.net>
From: Peter Eisentraut <peter_e@gmx.net>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2012-01-11T20:29:18Z
Lists: pgsql-hackers
Attachments
- psql-cp-completion.patch (text/x-patch) patch
In psql, the tab completion always converts key words to upper case. In practice, I and I think most users type in lower case. So then you end up with commands looking like this: => alter TABLE foo add CONSTRAINT bar check (a > 0); To address this, I have implemented a slightly different completion mode that looks at the word being completed and converts the completed word to the case of the original word. (Well, it looks at the first letter.) In fact, since almost all completions in psql are of this nature, I made this the default mode for COMPLETE_WITH_CONST and COMPLETE_WITH_LIST and added a new macro COMPLETE_WITH_LIST_CS that uses the old case-sensitive behavior. The latter is used mainly for completing backslash commands. After playing with this a little, I find the behavior more pleasing. Less yelling. ;-) Patch attached.