From: | Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp> |
---|---|
To: | Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: psql: tab-completion support for COPY ... TO/FROM STDIN, STDOUT, and PROGRAM |
Date: | 2025-06-05 07:52:00 |
Message-ID: | 20250605165200.be28419d9d335ba40bb84d7b@sraoss.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, 5 Jun 2025 10:08:35 +0900
Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp> wrote:
> Hi,
>
> Currently, tab completion for COPY only suggests filenames after TO or
> FROM, even though STDIN, STDOUT, and PROGRAM are also valid syntax options.
>
> I'd like to propose improving the tab completion behavior as described in
> the subject, so that these keywords are suggested appropriately, and filenames
> are offered as potential command names after the PROGRAM keyword.
>
> I've attached this proposal as a patch series with the following three parts:
I'm sorry but the previous patches were accidentally broken and didn't work.
I've attached fixed patches.
>
> 0001: Refactor match_previous_words() to remove direct use of rl_completion_matches()
>
> This is a preparatory cleanup. Most completions in match_previous_words() already use
> COMPLETE_WITH* macros, which wrap rl_completion_matches(). However, some direct calls
> still remain.
>
> This patch replaces the remaining direct calls with COMPLETE_WITH_FILES or
> COMPLETE_WITH_GENERATOR, improving consistency and readability.
>
> 0002: Add tab completion support for COPY ... TO/FROM STDIN, STDOUT, and PROGRAM
>
> This is the main patch. It extends tab completion to suggest STDIN, STDOUT, and PROGRAM
> after TO or FROM. After PROGRAM, filenames are suggested as possible command names.
>
> To support this, a new macro COMPLETE_WITH_FILES_PLUS is introduced. This allows
> combining literal keywords with filename suggestions in the completion list.
>
> 0003: Improve tab completion for COPY option lists
>
> Currently, only the first option in a parenthesized list is suggested during completion,
> and nothing is suggested after a comma.
>
> This patch enables suggestions after each comma, improving usability when specifying
> multiple options.
>
> Although not directly related to the main proposal, I believe this is a helpful enhancement
> to COPY tab completion and included it here for completeness.
>
> I’d appreciate your review and feedback on this series.
>
>
> Best regards,
> Yugo Nagata
>
> --
> Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp>
--
Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp>
Attachment | Content-Type | Size |
---|---|---|
v2-0003-Improve-tab-completion-for-COPY-option-lists.patch | text/x-diff | 3.5 KB |
v2-0002-Add-tab-completion-support-for-COPY-.-TO-FROM-STD.patch | text/x-diff | 7.7 KB |
v2-0001-Refactor-match_previous_words-to-remove-direct-us.patch | text/x-diff | 4.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2025-06-05 08:04:06 | Re: Potential issue in listExtensions() |
Previous Message | Dilip Kumar | 2025-06-05 07:50:36 | Re: Potential issue in listExtensions() |