anchor.diff:                      let line =
                           x.Editor.CaretLine
                           |> x.Editor.GetLine 
  -
  -                    fsi.SendCommand (line |> x.Editor.GetLineText)
  +                    let lineStr = (line |> x.Editor.GetLineText)
  +
  +                    if lineStr.TrimStart().StartsWith("> ") then
  +                        fsi.SendCommand lineStr.[2..]
  +                    else
  +                        fsi.SendCommand lineStr
  +                          
                       x.Editor.CaretOffset <- line.EndOffset
                       x.Editor.InsertAtCaret "\n"
  +                    if not (lineStr.TrimEnd().EndsWith(";;")) then
  +                        x.Editor.InsertAtCaret "- "
                   false
               | SpecialKey.Up -> 
                   if x.Editor.CaretLine = x.Editor.LineCount then
  
positive.code:         editor.InsertAtCaret (nonBreakingSpace + t)
  
      let prompt() =
          editor.InsertAtCaret ("\n")
  
      let setupSession() =
          try
  
negative.code:                     false
                  else
                      base.KeyPress (descriptor)
              | SpecialKey.Left ->
                  if (x.Editor.CaretLine <> x.Editor.LineCount) || x.Editor.CaretColumn > 3 then // 3 = prompt width
                      base.KeyPress (descriptor)
                  else
                      false
              | SpecialKey.BackSpace
              | SpecialKey.Delete ->
                  if x.Editor.CaretLine = x.Editor.LineCount && x.Editor.CaretColumn > 3 then // 3 = prompt width
                      base.KeyPress (descriptor)
                  else
                      false
              | _ -> base.KeyPress (descriptor)
          | _ -> base.KeyPress (descriptor)
  
  type FSharpInteractivePad() as this =
      inherit MonoDevelop.Ide.Gui.PadContent()
  