Re: [PATCH] Tab complete EXECUTE FUNCTION for CREATE (EVENT) TRIGGER
Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
From: ilmari@ilmari.org (Dagfinn Ilmari Mannsåker )
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michael Paquier <michael@paquier.xyz>, David Fetter <david@fetter.org>,
pgsql-hackers@postgresql.org
Date: 2018-10-25T11:25:33Z
Lists: pgsql-hackers
Tom Lane <tgl@sss.pgh.pa.us> writes:
> Michael Paquier <michael@paquier.xyz> writes:
>> On Wed, Oct 24, 2018 at 10:36:41AM +0100, Dagfinn Ilmari Mannsåker wrote:
>>> Fair point. I was unsure about whether to complete every supported
>>> variant or just the new one. Updated patches attached.
>
>> One problem with this approach is that a user needs to use twice tab.
>> The first time is to show "EXECUTE", and the second time is to show
>> automatically "PROCEDURE" or "FUNCTION" automatically.
>
> Yeah. Why don't we keep the existing behavior of completing both
> words at once, but make it server-version-dependent which completion
> you get?
I did that initially, but because COMPLETE_WITH() requres constant
arguments, I had to repeat the whole list with just changing PROCEDURE
to FUNCTION, which I thought was undesirably repetitive. If there's a
more concise alternative to the below, or the consensus is that saving
one TAB press is worth it, I'll change it.
else if (HeadMatches("CREATE", "TRIGGER") && TailMatches("ON", MatchAny))
if (pset.sversion >= 110000)
COMPLETE_WITH("NOT DEFERRABLE", "DEFERRABLE", "INITIALLY",
"REFERENCING", "FOR", "WHEN (", "EXECUTE FUNCTION");
else
COMPLETE_WITH("NOT DEFERRABLE", "DEFERRABLE", "INITIALLY",
"REFERENCING", "FOR", "WHEN (", "EXECUTE PROCEDURE");
- ilmari
--
"The surreality of the universe tends towards a maximum" -- Skud's Law
"Never formulate a law or axiom that you're not prepared to live with
the consequences of." -- Skud's Meta-Law
Commits
-
Add tab completion of EXECUTE FUNCTION for CREATE TRIGGER in psql
- fdf5eade9626 11.1 landed
- 292ef6e2778a 12.0 landed
-
Improve tab completion of CREATE EVENT TRIGGER in psql
- 5953c9969762 12.0 landed
-
Improve tab completion for ANALYZE, EXPLAIN, and VACUUM.
- 121213d9d852 12.0 cited