public InteractiveInterpreterConsole(
      IInterpreter interpreter, String name, String prompt, String continuationPrompt) {
    super(name, CONSOLE_TYPE, null, false);

    this.interpreter = interpreter;
    commandExecutor = new CommandExecutor(this);
    consoleOutputStream = new ConsoleOutputStream(this);
    interpreter.setConsole(this);

    this.prompt = prompt;
    this.continuationPrompt = continuationPrompt;

    commandHistory = new CommandHistory();
    documentListener = new ConsoleDocumentListener(this);
    documentListener.registerListener();

    partitioner = new InterpreterConsolePartitioner();
    IDocument doc = getDocument();
    doc.setDocumentPartitioner(partitioner);
    partitioner.connect(doc);

    documentListener.enable();

    setFont();
  }