mirror of
https://github.com/LuckPerms/LuckPerms.git
synced 2024-11-27 21:29:47 +01:00
Use contains instead of startsWith for context tab completions
This commit is contained in:
parent
d5ac45d230
commit
4a049ca732
@ -49,6 +49,18 @@ public interface CompletionSupplier {
|
||||
return partial -> stringsSupplier.get().filter(TabCompleter.startsWithIgnoreCase(partial)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
static CompletionSupplier contains(String... strings) {
|
||||
return contains(() -> Arrays.stream(strings));
|
||||
}
|
||||
|
||||
static CompletionSupplier contains(Collection<String> strings) {
|
||||
return contains(strings::stream);
|
||||
}
|
||||
|
||||
static CompletionSupplier contains(Supplier<Stream<String>> stringsSupplier) {
|
||||
return partial -> stringsSupplier.get().filter(TabCompleter.containsIgnoreCase(partial)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
List<String> supplyCompletions(String partial);
|
||||
|
||||
}
|
||||
|
@ -107,4 +107,13 @@ public class TabCompleter {
|
||||
};
|
||||
}
|
||||
|
||||
static Predicate<String> containsIgnoreCase(String substring) {
|
||||
return string -> {
|
||||
if (string.length() < substring.length()) {
|
||||
return false;
|
||||
}
|
||||
return string.toLowerCase().contains(substring.toLowerCase());
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -99,7 +99,7 @@ public final class TabCompletions {
|
||||
int index = partial.indexOf('=');
|
||||
if (index == -1) {
|
||||
// cursor is specifying the key
|
||||
return CompletionSupplier.startsWith(potentialContexts.toMap().keySet()).supplyCompletions(partial);
|
||||
return CompletionSupplier.contains(potentialContexts.toMap().keySet()).supplyCompletions(partial);
|
||||
}
|
||||
|
||||
// cursor is specifying the value
|
||||
|
Loading…
Reference in New Issue
Block a user