From 460496bf751126dec5a0e8ac3dea0ad06aeb92d1 Mon Sep 17 00:00:00 2001 From: Clebert Suconic Date: Fri, 28 Jul 2023 10:49:01 -0400 Subject: [PATCH] Issue #2074 AutoComplete with jline3 is showing hidden values --- .../src/main/java/picocli/shell/jline3/PicocliCommands.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/picocli-shell-jline3/src/main/java/picocli/shell/jline3/PicocliCommands.java b/picocli-shell-jline3/src/main/java/picocli/shell/jline3/PicocliCommands.java index eb84cc480..c9a86c202 100644 --- a/picocli-shell-jline3/src/main/java/picocli/shell/jline3/PicocliCommands.java +++ b/picocli-shell-jline3/src/main/java/picocli/shell/jline3/PicocliCommands.java @@ -177,6 +177,7 @@ public void complete(LineReader reader, ParsedLine commandLine, List String buffer = word.substring(0, commandLine.wordCursor()); int eq = buffer.indexOf('='); for (OptionSpec option : sub.getCommandSpec().options()) { + if (option.hidden()) continue; if (option.arity().max() == 0 && eq < 0) { addCandidates(candidates, Arrays.asList(option.names())); } else { @@ -193,7 +194,9 @@ public void complete(LineReader reader, ParsedLine commandLine, List } else { addCandidates(candidates, sub.getSubcommands().keySet()); for (CommandLine s : sub.getSubcommands().values()) { - addCandidates(candidates, Arrays.asList(s.getCommandSpec().aliases())); + if (!s.getCommandSpec().usageMessage().hidden()) { + addCandidates(candidates, Arrays.asList(s.getCommandSpec().aliases())); + } } } }