package org.jetbrains.plugins.clojure.repl;
import com.intellij.execution.console.ConsoleHistoryController;
import com.intellij.execution.console.LanguageConsoleImpl;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Key;
import org.jetbrains.plugins.clojure.ClojureLanguage;
/**
* @author ilyas
*/
public class ClojureConsole extends LanguageConsoleImpl {
public static final Key<Boolean> CLOJURE_CONSOLE_EDITOR = Key.create("CLOJURE_CONSOLE_EDITOR");
private ConsoleHistoryController myHistoryController;
private final String myNReplHost;
private final String myNReplPort;
private ClojureConsoleExecuteActionHandler myExecuteHandler;
public ClojureConsole(Project project,
String title,
String nReplHost,
String nReplPort) {
super(project, title, ClojureLanguage.getInstance());
myNReplHost = nReplHost;
myNReplPort = nReplPort;
getConsoleEditor().getDocument().putUserData(CLOJURE_CONSOLE_EDITOR, Boolean.TRUE);
}
public ConsoleHistoryController getHistoryController() {
return myHistoryController;
}
public ClojureConsoleExecuteActionHandler getExecuteHandler() {
return myExecuteHandler;
}
public void setExecuteHandler(ClojureConsoleExecuteActionHandler handler) {
this.myExecuteHandler = handler;
}
public String getNReplPort() {
return myNReplPort;
}
public String getNReplHost() {
return myNReplHost;
}
public void setHistoryController(ConsoleHistoryController myHistoryController) {
this.myHistoryController = myHistoryController;
}
}