On Fri, 18 Jul 2025 at 12:49, Yugo Nagata <[email protected]> wrote:
>
> On Thu, 17 Jul 2025 10:57:36 +0900
> Yugo Nagata <[email protected]> wrote:
>
> > On Tue, 17 Jun 2025 00:08:32 +0900
> > Yugo Nagata <[email protected]> wrote:
> >
> > > On Thu, 5 Jun 2025 16:52:00 +0900
> > > Yugo Nagata <[email protected]> wrote:
> > >
> > > > On Thu, 5 Jun 2025 10:08:35 +0900
> > > > Yugo Nagata <[email protected]> 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.
>
> The previous patch was broken failed to complie since I missed following
> the required format of if-conditions in match_previous_words().
> I've attached update patches.
>
> Regards,
> Yugo Nagata
>
> --
> Yugo Nagata <[email protected]>

Hi! This tab completion support is indeed very useful. Thanks for
working on this.
I spotted potential improvement here: current v5 does not support COPY
completion for a pattern I do frequently use:
specifying COPY options without WITH clause e.g. "copy yy from
'/home/reshke/cpg/csv.csv' <tab>" Is not completed with BINARY, CSV,
DELIMITER etc.

-- 
Best regards,
Kirill Reshke


Reply via email to