diff --git a/builtins/src/main/java/org/jline/builtins/Commands.java b/builtins/src/main/java/org/jline/builtins/Commands.java index 619eb07e1..f6bf1c814 100644 --- a/builtins/src/main/java/org/jline/builtins/Commands.java +++ b/builtins/src/main/java/org/jline/builtins/Commands.java @@ -497,7 +497,14 @@ public static void widget(LineReader reader, PrintStream out, PrintStream err, return; } if (opt.isSet("l")) { - for (String s : new TreeSet<>(reader.getWidgets().keySet())) { + TreeSet ws = new TreeSet<>(reader.getWidgets().keySet()); + if (opt.isSet("a")) { + Set temp = new HashSet<>(ws); + for (String s: temp) { + ws.add(reader.getWidgets().get(s).toString()); + } + } + for (String s : ws) { if (opt.isSet("a")) { out.println(s); } else if (!reader.getWidgets().get(s).toString().startsWith(".")) {