diff --git a/LaunchServer/source/command/handler/JLineCommandHandler.java b/LaunchServer/source/command/handler/JLineCommandHandler.java index 9544f41..f650574 100644 --- a/LaunchServer/source/command/handler/JLineCommandHandler.java +++ b/LaunchServer/source/command/handler/JLineCommandHandler.java @@ -1,11 +1,14 @@ package launchserver.command.handler; import jline.console.ConsoleReader; +import jline.console.completer.Completer; import launcher.helper.LogHelper; import launcher.helper.LogHelper.Output; import launchserver.LaunchServer; import java.io.IOException; +import java.util.List; +import java.util.Optional; public final class JLineCommandHandler extends CommandHandler { @@ -18,6 +21,7 @@ // Set reader reader = new ConsoleReader(); reader.setExpandEvents(false); + reader.addCompleter(new JLineConsoleCompleter()); // Replace writer LogHelper.removeStdOutput(); @@ -59,4 +63,19 @@ } } } + + public class JLineConsoleCompleter implements Completer + { + @Override + public int complete(String line, int pos, List list) + { + if (pos == 0) { + list.addAll(commandsMap().keySet()); + } else { + Optional command = commandsMap().keySet().stream().filter(c -> c.startsWith(line)).findFirst(); + command.ifPresent(list::add); + } + return 0; + } + } } diff --git a/buildnumber b/buildnumber index 7d2e945..fe77b89 100644 --- a/buildnumber +++ b/buildnumber @@ -1 +1 @@ -529, 16.02.2021 \ No newline at end of file +533, 24.03.2021 \ No newline at end of file