Don't use a no-op suggester

This commit is contained in:
Matthew Miller
2019-05-19 13:49:37 +10:00
parent a3ffb91917
commit 4804fe64e3
12 changed files with 16 additions and 15 deletions

View File

@ -20,6 +20,7 @@
package com.sk89q.worldedit.internal.registry;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.enginehub.piston.converter.SuggestionHelper.limitByPrefix;
import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.extension.input.InputParseException;
@ -79,8 +80,8 @@ public abstract class AbstractFactory<E> {
throw new NoMatchException("No match for '" + input + "'");
}
public Stream<String> getSuggestions() {
return parsers.stream().flatMap(InputParser::getSuggestions);
public List<String> getSuggestions(String input) {
return limitByPrefix(parsers.stream().flatMap(parser -> parser.getSuggestions(input)), input);
}
/**

View File

@ -48,7 +48,7 @@ public abstract class InputParser<E> {
*
* @return a stream of suggestions
*/
public Stream<String> getSuggestions() {
public Stream<String> getSuggestions(String input) {
return Stream.empty();
}
}

View File

@ -66,7 +66,7 @@ public abstract class SimpleInputParser<E> extends InputParser<E> {
}
@Override
public Stream<String> getSuggestions() {
public Stream<String> getSuggestions(String input) {
return Stream.of(getPrimaryMatcher());
}
}