Enhance console tab completions for brigadier commands
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
package com.destroystokyo.paper.console;
|
||||
|
||||
import io.papermc.paper.configuration.GlobalConfiguration;
|
||||
import io.papermc.paper.console.BrigadierCompletionMatcher;
|
||||
import io.papermc.paper.console.BrigadierConsoleParser;
|
||||
import net.minecraft.server.dedicated.DedicatedServer;
|
||||
import net.minecrell.terminalconsole.SimpleTerminalConsole;
|
||||
import org.bukkit.craftbukkit.command.ConsoleCommandCompleter;
|
||||
@@ -16,11 +19,20 @@ public final class PaperConsole extends SimpleTerminalConsole {
|
||||
|
||||
@Override
|
||||
protected LineReader buildReader(LineReaderBuilder builder) {
|
||||
return super.buildReader(builder
|
||||
builder
|
||||
.appName("Paper")
|
||||
.variable(LineReader.HISTORY_FILE, java.nio.file.Paths.get(".console_history"))
|
||||
.completer(new ConsoleCommandCompleter(this.server))
|
||||
);
|
||||
.option(LineReader.Option.COMPLETE_IN_WORD, true);
|
||||
if (io.papermc.paper.configuration.GlobalConfiguration.get().console.enableBrigadierHighlighting) {
|
||||
builder.highlighter(new io.papermc.paper.console.BrigadierCommandHighlighter(this.server));
|
||||
}
|
||||
if (GlobalConfiguration.get().console.enableBrigadierCompletions) {
|
||||
System.setProperty("org.jline.reader.support.parsedline", "true"); // to hide a warning message about the parser not supporting
|
||||
builder.parser(new BrigadierConsoleParser(this.server));
|
||||
builder.completionMatcher(new BrigadierCompletionMatcher());
|
||||
}
|
||||
return super.buildReader(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user