ConsoleCommandCompleter class
Пакет: com.hypixel.hytale.server.core.console
Файл: com/hypixel/hytale/server/core/console/ConsoleCommandCompleter.java
implements: Completer
Поля (7)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
HytaleLogger |
LOGGER |
|
CommandManager |
var4 |
|
int |
var5 |
|
String |
var6 |
|
int |
var7 |
|
String |
var8 |
|
ArrayList |
var9 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
completevoid complete(@Nonnull LineReader var1, @Nonnull ParsedLine var2, @Nonnull List<Candidate> var3) |
|
|
if if(var4 != null) |
|
|
if if(var5 >= 0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.console;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandManager;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandSender;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.jline.reader.Candidate;
class="kw">import org.jline.reader.Completer;
class="kw">import org.jline.reader.LineReader;
class="kw">import org.jline.reader.ParsedLine;
class="kw">final class ConsoleCommandCompleter class="kw">implements Completer {
class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
class="kw">private class="kw">final CommandSender sender;
ConsoleCommandCompleter(@Nonnull CommandSender var1) {
this.sender = var1;
}
class="kw">public void complete(@Nonnull LineReader var1, @Nonnull ParsedLine var2, @Nonnull List<Candidate> var3) {
CommandManager var4 = CommandManager.get();
if (var4 != null) {
int var5 = var2.wordIndex();
if (var5 >= 0) {
String var6 = var2.word();
int var7 = var2.wordCursor();
String var8 = var7 >= 0 && var7 <= var6.length() ? var6.substring(0, var7) : var6;
ArrayList var9 = new ArrayList<>(var2.words());
while (var9.size() <= var5) {
var9.add("");
}
var9.set(var5, var8);
try {
for (String var11 : var4.suggestCompletions(this.sender, var9, var5)) {
var3.add(new Candidate(var11));
}
} catch (Exception var12) {
((HytaleLogger.Api)LOGGER.at(Level.FINE).withCause(var12)).log("Console tab completion failed");
}
}
}
}
}