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");
            }
         }
      }
   }
}