package org.rascalmpl.eclipse.repl;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl;
import jline.Terminal;
@SuppressWarnings("restriction")
public class TMTerminalTerminal implements Terminal {
private final VT100TerminalControl ctx;
private SizedTerminalConnector rascalTerminalConnector;
public TMTerminalTerminal(VT100TerminalControl ctx, SizedTerminalConnector rascalTerminalConnector) {
this.ctx = ctx;
this.rascalTerminalConnector = rascalTerminalConnector;
}
@Override
public int getHeight() {
return rascalTerminalConnector.getHeight() ;
}
@Override
public String getOutputEncoding() {
return ctx.getEncoding();
}
@Override
public int getWidth() {
return rascalTerminalConnector.getWidth() ;
}
@Override
public boolean hasWeirdWrap() {
return false;
}
@Override
public void init() throws Exception {
}
@Override
public boolean isAnsiSupported() {
return true;
}
@Override
public boolean isEchoEnabled() {
return false;
}
@Override
public boolean isSupported() {
return true;
}
@Override
public void reset() throws Exception {
}
@Override
public void restore() throws Exception {
}
@Override
public void setEchoEnabled(boolean enabled) {
if (enabled) {
throw new RuntimeException("Echo should not be enabled");
}
}
@Override
public InputStream wrapInIfNeeded(InputStream in) throws IOException {
return in;
}
@Override
public OutputStream wrapOutIfNeeded(OutputStream out) {
return out;
}
}