Hi, Commit 02fd47db improved tab completion for COPY FROM and COPY TO by suggesting STDIN and STDOUT. How about also adding suggestions for pstdin and pstdout in the case of the \copy meta-command?
I've attached a simple patch to add this. Regards, Yugo Nagata -- Yugo Nagata <[email protected]>
>From 736639b10963438471ae0ab8b0e4657bbc86c016 Mon Sep 17 00:00:00 2001 From: Yugo Nagata <[email protected]> Date: Wed, 31 Dec 2025 18:27:46 +0900 Subject: [PATCH] psql: Add tab completion for \copy pstdin and pstdout --- src/bin/psql/tab-complete.in.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/bin/psql/tab-complete.in.c b/src/bin/psql/tab-complete.in.c index 75a101c6ab5..5edb9ad4d77 100644 --- a/src/bin/psql/tab-complete.in.c +++ b/src/bin/psql/tab-complete.in.c @@ -3357,13 +3357,22 @@ match_previous_words(int pattern_id, /* Complete COPY|\copy <sth> FROM|TO with filename or STDIN/STDOUT/PROGRAM */ else if (Matches("COPY|\\copy", MatchAny, "FROM|TO")) { - /* COPY requires quoted filename */ - bool force_quote = HeadMatches("COPY"); - - if (TailMatches("FROM")) - COMPLETE_WITH_FILES_PLUS("", force_quote, "STDIN", "PROGRAM"); + if (HeadMatches("COPY")) + { + /* COPY requires quoted filename */ + if (TailMatches("FROM")) + COMPLETE_WITH_FILES_PLUS("", true, "STDIN", "PROGRAM"); + else + COMPLETE_WITH_FILES_PLUS("", true, "STDOUT", "PROGRAM"); + } else - COMPLETE_WITH_FILES_PLUS("", force_quote, "STDOUT", "PROGRAM"); + { + /* \copy supports pstdin and pstdout */ + if (TailMatches("FROM")) + COMPLETE_WITH_FILES_PLUS("", false, "STDIN", "PSTDIN", "PROGRAM"); + else + COMPLETE_WITH_FILES_PLUS("", false, "STDOUT", "PSTDOUT", "PROGRAM"); + } } /* Complete COPY|\copy <sth> FROM|TO PROGRAM */ -- 2.43.0
