anchor.diff:  
       let session = setupSession()
   
  -    //static member GetContent<'T>()  = editor.GetContent<'T>()
  +    let getCaretLine() =
  +        if editor.CaretColumn = 1 then
  +            ""
  +        else
  +            editor.CaretLine |> editor.GetLine |> editor.GetLineText
  +
  +    let setCaretLine (s:string) =
  +        let line = editor.GetLineByOffset editor.CaretOffset
  +        editor.ReplaceText(line.Offset, line.EndOffset - line.Offset, s)
  +
       member x.Session = session
       member x.Shutdown()  =
           do LoggingService.LogDebug ("Interactive: Shutdown()!")
           //resetFsi Kill
  +
  +    member x.SendCommand command =
  +        session 
  +        |> Option.iter(fun ses ->
  +            commandHistoryPast.Push command
  +            ses.SendCommand command)
  +
  +    member x.ProcessCommandHistoryUp () =
  +        if commandHistoryPast.Count > 0 then
  +            if commandHistoryFuture.Count = 0 then
  +                commandHistoryFuture.Push (getCaretLine())
  +            else
  +                if commandHistoryPast.Count = 1 then ()
  +                else commandHistoryFuture.Push (commandHistoryPast.Pop ())
  +            setCaretLine (commandHistoryPast.Peek ())
  +
  +    member x.ProcessCommandHistoryDown () =
  +        if commandHistoryFuture.Count > 0 then
  +            if commandHistoryFuture.Count = 1 then
  +                setCaretLine (commandHistoryFuture.Pop ())
  +            else
  +                commandHistoryPast.Push (commandHistoryFuture.Pop ())
  +                setCaretLine (commandHistoryPast.Peek ())
   
       override x.Dispose() =
           LoggingService.LogDebug ("Interactive: disposing pad...")
  
positive.code:             editor.InsertAtCaret ("\n")
              ctx.SourceEditorView <- editor.GetContent<MonoDevelop.SourceEditor.SourceEditorView>()
          
  /// Implements text editor extension for MonoDevelop that shows F# completion
  type FSharpFsiEditorCompletion() =
      inherit TextEditorExtension()
  
  
negative.code:     let mutable killIntent = NoIntent
      let mutable promptReceived = false
      let mutable activeDoc : IDisposable option = None
      let commandHistoryPast = new Stack<string> ()
      let commandHistoryFuture = new Stack<string> ()
  
      let getCorrectDirectory () =
          if IdeApp.Workbench.ActiveDocument <> null && FileService.isInsideFSharpFile() then
  