public static ConsoleExecutionActions createConsoleExecActions(final LanguageConsoleImpl languageConsole,
final ProcessHandler processHandler,
final ConsoleExecuteActionHandler consoleExecuteActionHandler) {
- final ConsoleHistoryModel myHistory = new ConsoleHistoryModel();
-
final AnAction runAction = new ConsoleExecuteAction(languageConsole,
- myHistory, processHandler, consoleExecuteActionHandler);
+ processHandler, consoleExecuteActionHandler);
final PairProcessor<AnActionEvent, String> historyProcessor = new PairProcessor<AnActionEvent, String>() {
public boolean process(final AnActionEvent e, final String s) {
final EditorEx consoleEditor = languageConsole.getConsoleEditor();
final AnAction upAction = ConsoleHistoryModel.createConsoleHistoryUpAction(createCanMoveUpComputable(consoleEditor),
- myHistory,
+ consoleExecuteActionHandler.getConsoleHistoryModel(),
historyProcessor);
final AnAction downAction = ConsoleHistoryModel.createConsoleHistoryDownAction(createCanMoveDownComputable(consoleEditor),
- myHistory,
+ consoleExecuteActionHandler.getConsoleHistoryModel(),
historyProcessor);
return new ConsoleExecutionActions(runAction, downAction, upAction);
public static final String CONSOLE_EXECUTE = "Console.Execute";
private final LanguageConsoleImpl myLanguageConsole;
- private final ConsoleHistoryModel myHistory;
private final ProcessHandler myProcessHandler;
private final ConsoleExecuteActionHandler myConsoleExecuteActionHandler;
public ConsoleExecuteAction(LanguageConsoleImpl languageConsole,
- ConsoleHistoryModel history,
ProcessHandler processHandler,
ConsoleExecuteActionHandler consoleExecuteActionHandler) {
super(null, null, IconLoader.getIcon(ACTIONS_EXECUTE_ICON));
myLanguageConsole = languageConsole;
- myHistory = history;
myProcessHandler = processHandler;
myConsoleExecuteActionHandler = consoleExecuteActionHandler;
EmptyAction.setupAction(this, CONSOLE_EXECUTE, null);
}
public void actionPerformed(final AnActionEvent e) {
- myConsoleExecuteActionHandler.runExecuteAction(myLanguageConsole, myHistory);
+ myConsoleExecuteActionHandler.runExecuteAction(myLanguageConsole);
}
public void update(final AnActionEvent e) {
import java.io.OutputStream;
/**
-* @author traff
-*/
+ * @author traff
+ */
public class ConsoleExecuteActionHandler {
private final ProcessHandler myProcessHandler;
private final boolean myPreserveMarkup;
private boolean myAddCurrentToHistory = true;
+ private ConsoleHistoryModel myConsoleHistoryModel;
public ConsoleExecuteActionHandler(ProcessHandler processHandler, boolean preserveMarkup) {
myProcessHandler = processHandler;
+ myConsoleHistoryModel = new ConsoleHistoryModel();
myPreserveMarkup = preserveMarkup;
}
+ public void setConsoleHistoryModel(ConsoleHistoryModel consoleHistoryModel) {
+ myConsoleHistoryModel = consoleHistoryModel;
+ }
- public void runExecuteAction(LanguageConsoleImpl languageConsole,
- ConsoleHistoryModel consoleHistoryModel) {
+ public ConsoleHistoryModel getConsoleHistoryModel() {
+ return myConsoleHistoryModel;
+ }
+
+ public void runExecuteAction(LanguageConsoleImpl languageConsole) {
// Process input and add to history
final Document document = languageConsole.getCurrentEditor().getDocument();
}
languageConsole.setInputText("");
if (!StringUtil.isEmptyOrSpaces(text)) {
- consoleHistoryModel.addToHistory(text);
+ myConsoleHistoryModel.addToHistory(text);
}
// Send to interpreter / server
+
processLine(text);
}