package launchserver.command.basic;
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.file.Path;
import launcher.helper.IOHelper;
import launcher.helper.LogHelper;
import launchserver.LaunchServer;
import launchserver.command.Command;
import launchserver.command.CommandException;
import launchserver.helper.LineReader;
public final class EvalCommand extends Command {
public EvalCommand(LaunchServer server) {
super(server);
}
@Override
public String getArgsDescription() {
return "<file>";
}
@Override
public String getUsageDescription() {
return "Evaluate input file (external flag enabled)";
}
@Override
public void invoke(String... args) throws IOException, CommandException {
verifyArgs(args, 1);
// Evaluate input file
Path file = IOHelper.toPath(args[0]);
LogHelper.subInfo("Evaluating file: '%s'", file);
try (BufferedReader reader = new LineReader(IOHelper.newReader(file))) {
for (String line = reader.readLine(); line != null; line = reader.readLine()) {
server.commandHandler.eval(line, false);
}
}
}
}