ilmari@ilmari.org (Dagfinn Ilmari =?utf-8?Q?Manns=C3=A5ker?=) writes:
> Tom Lane <tgl@sss.pgh.pa.us> writes:
>> 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_WITHc() 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");
Well, that's not beautiful, but there aren't so many alternatives
that it's really unmaintainable. I think it's probably better than
requiring an additional TAB-press.
regards, tom lane