Use pty4j library.

This commit is contained in:
Dmitry Trofimov
2013-08-05 16:51:00 +02:00
parent 234e2ee8c6
commit 646e9f5f09
4 changed files with 12 additions and 5 deletions
Binary file not shown.
Binary file not shown.
@@ -5,13 +5,15 @@ import com.intellij.execution.process.*;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.Consumer;
import com.intellij.util.containers.HashMap;
import com.jediterm.pty.PtyProcess;
import com.jediterm.pty.PtyProcessTtyConnector;
import com.jediterm.terminal.TtyConnector;
import com.pty4j.PtyProcess;
import org.jetbrains.annotations.Nullable;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.Charset;
import java.util.Map;
@@ -36,7 +38,12 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner<PtyProcess
protected PtyProcess createProcess() throws ExecutionException {
Map<String, String> envs = new HashMap<String, String>(System.getenv());
envs.put("TERM", "xterm");
return new PtyProcess(myCommand[0], myCommand, envs);
try {
return PtyProcess.exec(myCommand, envs, null);
}
catch (IOException e) {
throw new ExecutionException(e);
}
}
@Override
@@ -51,7 +58,7 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner<PtyProcess
@Override
protected String getTerminalConnectionName(PtyProcess process) {
return process.getCommandLineString();
return StringUtil.join(myCommand);
}
private static class PtyProcessHandler extends ProcessHandler implements TaskExecutor {
+2 -2
View File
@@ -20,9 +20,9 @@
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jpty">
<library name="pty4j">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/JPty.jar!/" />
<root url="jar://$MODULE_DIR$/lib/pty4j-0.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />