On Mon, Jun 18, 2012 at 5:45 PM, Josh Kupershmidt <schmi...@gmail.com> wrote:
> On Mon, Jun 18, 2012 at 3:56 AM, Dean Rasheed <dean.a.rash...@gmail.com> 
> wrote:
>> On 18 June 2012 04:21, Josh Kupershmidt <schmi...@gmail.com> wrote:
>
>>> As a side note unrelated to this patch, I also dislike how function
>>> name tab-completions will not fill in the opening parenthesis, which
>>> makes for unnecessary work for the user, as one then has to type the
>>> parenthesis and hit tab again to get possible completions for the
>>> function arguments. The current behavior causes:
>>>  DROP FUNCTION my_f<TAB>
>>>
>>> which completes to:
>>>  DROP FUNCTION my_function
>>>
>>> enter parenthesis, and hit tab:
>>>  DROP FUNCTION my_function(<TAB>
>>>
>>> which, if there is only one match, could complete to:
>>>  DROP FUNCTION my_function(integer)
>>>
>>> when the last three steps could have been consolidated with better
>>> tab-completion. Perhaps this could be a TODO.
>>>
>>
>> Hmm, I find that it does automatically fill in the opening
>> parenthesis, but only once there is a space after the completed
>> function name. So
>> "DROP FUNCTION my_f<TAB>" completes to "DROP FUNCTION my_function "
>> (note the space at the end). Then pressing <TAB> one more time gives
>> "DROP FUNCTION my_function ( ", and then pressing <TAB> again gives
>> the function arguments.
>>
>> Alternatively "DROP FUNCTION my_function<TAB>" (no space after
>> function name) first completes to "DROP FUNCTION my_function " (adding
>> the space), and then completes with the opening parenthesis, and then
>> with the function arguments.
>>
>> It's a bit clunky, but I find that repeatedly pressing <TAB> is easier
>> than typing the opening bracket.
>
> Interesting, I see the behavior you describe on Linux, using psql +
> libreadline, and the behavior I showed (i.e. repeatedly pressing tab
> won't automatically fill in the function arguments after the function
> name is completed, seemingly because no space is deposited after the
> completed function name)  is with OS X 10.6, using psql + libedit.
>
> [snip]
>>> you get tab-completions for both "text)" and "bytea(", when you
>>> probably expected only the former. That's easy to fix though, please
>>> see attached v2 patch.
>>
>> Good catch.
>> I think that's a useful additional test, and is also consistent with
>> the existing code in Query_for_list_of_attributes.
>
> OK, I'll mark Ready for Committer in the CF.

Applied with minor revisions:
* the comment above the COMPLETE_WITH_xyz macros needed an update
* I renamed the macro to COMPLETE_WITH_FUNCTION_ARG - to make it even
more clear what it does

Thanks!

-- 
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to