anchor.diff:  
   open System
   open Atom
  -open Atom.FSharp 
  +open Atom.FSharp
   open Atom.FSharp.Control
   
   open FunScript
  
positive.code: type MessageEvent = { data:string }
  
  /// A handler for messages sent by <iframe> elements that HTML output may put into FSI window
  /// (a message "height <id> <number>" means max-height of iframe #<id> is given number) 
  let private setupIFrameResizeHandler () = 
      Globals.window.addEventListener("message", fun e ->
        let data = (unbox e).data.Split(' ') |> List.ofSeq
        match data with
        | [ "height"; id; hgt ] -> 
            let hgt = if float hgt > 500.0 then 500.0 else float hgt
            jq("#" + id + " iframe").height(string hgt + "px") |> ignore
            jq(".fsi").scrollTop(99999999.) |> ignore
  
negative.code: let private clearFsiPane () =
      jq(".fsi").empty() |> ignore
  
  /// Append panel with input or output
  let private appendFsiPanel cssclass expanded (input:string) =
      let pre = jq("<pre />").text(if expanded then input else "(...)")
      let icon = jq("<span />").addClass("icon " + if expanded then "icon-chevron-down" else "icon-chevron-right")
      let padding = jq("<div class='inset-panel padded'/>").append(icon).append(pre)
      jq("<atom-panel />").addClass("top fsi-block " + cssclass)
        .click(fun _ ->
            if pre.text() = "(...)" then
                icon.attr("class", "icon icon-chevron-down") |> ignore
                pre.text(input) |> ignore
            else
                icon.attr("class", "icon icon-chevron-right") |> ignore
                pre.text("(...)") |> ignore
            obj() )
  