anchor.diff:              "<li></li>" |> jq
   
       let private startBuild (packageDescription :  ListView.ItemDescription) =
  -        let data = {Name = packageDescription.data; Start = DateTime.Now; End = None; Output = ""; TextEditor = None}
  +        let fakeProcess = Process.spawnWithNotifications command linuxPrefix packageDescription.data
  +        let data = {Name = packageDescription.data; Start = DateTime.Now; End = None; Output = ""; TextEditor = None; Process = fakeProcess}
           BuildList.Add data
  -        let fakeProcess = Process.spawnWithNotifications command linuxPrefix packageDescription.data
           fakeProcess.on("exit",unbox<Function>(fun _ -> data.End <- Some DateTime.Now)) |> ignore
           fakeProcess.stdout.on("data", unbox<Function>(fun e ->
               data.Output <- data.Output + e.ToString()
  
positive.code:         )
          ListView.registerListView stopChangingCallback cancelledCallback confirmedCallback viewForItem false
  
      let loadParameters () =
          let p = Globals.atom.project.getPaths().[0]
          linuxPrefix <- Settings.loadOrDefault (fun s -> s.Fake.linuxPrefix ) "sh"
          command <- Settings.loadOrDefault (fun s -> p + "/" + s.Fake.command ) (if Process.isWin () then p + "/" + "build.cmd" else p + "/" + "build.sh")
  
negative.code:             ()
          )
  
      let private ShowCancelList () =
          cancelListView |> Option.iter(fun (model, view) ->
              view.show()
              model.focusFilterEditor() |> ignore
              let m = BuildList
                      |> Seq.filter (fun n -> n.End.IsNone)
                      |> Seq.sortBy(fun n -> n.Start)
                      |> Seq.map(fun n ->
                          let dateString = n.Start.ToShortDateString().Replace("\\",".").Replace("/",".")
                          let timeString = n.Start.ToShortTimeString().Replace("\\",".").Replace("/", ".")
  
                          let name = sprintf "%s - %s %s" n.Name dateString timeString
                          {ListView.data = name } :> obj)
                      |> Seq.toArray
                      |> Array.rev
  
              model.setItems m |> ignore
              ()
          )
  
      let activate () =
          taskListView <- registerTaskList () |> Some
          buildListView <- registerBuildList () |> Some
          cancelListView <- registerCancelList () |> Some
          Globals.atom.commands.add("atom-workspace", "FAKE:Build", BuildTask |> unbox<Function>) |> ignore
          Globals.atom.commands.add("atom-workspace", "FAKE:Build-Default", BuildDefault |> unbox<Function>) |> ignore
          Globals.atom.commands.add("atom-workspace", "FAKE:Show-Builds", ShowBuildList |> unbox<Function>) |> ignore
          Globals.atom.commands.add("atom-workspace", "FAKE:Cancel Build", ShowCancelList |> unbox<Function>) |> ignore
  
  
  type Fake() =
  