From 7353aa0b2e099c6bad708a53066e03611eb035ee Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 16 Mar 2018 16:48:24 -0400 Subject: [PATCH] fix sponge tab complete API --- core/src/main/java/co/aikar/commands/BaseCommand.java | 3 ++- sponge/src/main/java/co/aikar/commands/SpongeRootCommand.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/co/aikar/commands/BaseCommand.java b/core/src/main/java/co/aikar/commands/BaseCommand.java index 7dddc454..52fb329a 100644 --- a/core/src/main/java/co/aikar/commands/BaseCommand.java +++ b/core/src/main/java/co/aikar/commands/BaseCommand.java @@ -496,6 +496,7 @@ public abstract class BaseCommand { List getCommandsForCompletion(CommandIssuer issuer, String[] args) { final Set cmds = new HashSet<>(); + final int cmdIndex = Math.max(0, args.length - 1); String argString = ApacheCommonsLangUtil.join(args, " ").toLowerCase(); for (Map.Entry entry : subCommands.entries()) { final String key = entry.getKey(); @@ -506,7 +507,7 @@ public abstract class BaseCommand { } String[] split = ACFPatterns.SPACE.split(value.prefSubCommand); - cmds.add(split[args.length - 1]); + cmds.add(split[cmdIndex]); } } return new ArrayList<>(cmds); diff --git a/sponge/src/main/java/co/aikar/commands/SpongeRootCommand.java b/sponge/src/main/java/co/aikar/commands/SpongeRootCommand.java index f548f5a7..6e69daca 100644 --- a/sponge/src/main/java/co/aikar/commands/SpongeRootCommand.java +++ b/sponge/src/main/java/co/aikar/commands/SpongeRootCommand.java @@ -66,7 +66,7 @@ public class SpongeRootCommand implements CommandCallable, RootCommand { @Override public List getSuggestions(@NotNull CommandSource source, @NotNull String arguments, @Nullable Location location) throws CommandException { - String[] args = arguments.isEmpty() ? new String[0] : arguments.split(" "); + String[] args = arguments.isEmpty() ? new String[]{""} : arguments.split(" "); return getTabCompletions(manager.getCommandIssuer(source), this.name, args); }