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:             ()
          )
  
  
      let activate () =
          taskListView <- registerTaskList () |> Some
          buildListView <- registerBuildList () |> 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
  
  
  
  type Fake() =
  
negative.code:         )
          ListView.registerListView stopChangingCallback cancelledCallback confirmedCallback viewForItem false
  
      let private registerCancelList () =
          let stopChangingCallback (ev : IEditor) (lv : atom.SelectListView) = fun () -> ()
          let cancelledCallback = Func<_>(fun _ -> cancelListView |> Option.iter(fun (model, view) ->  view.hide()) :> obj)
          let confirmedCallback = unbox<Func<_, _>> (fun (buildDescription : ListView.ItemDescription) ->
              cancelListView |> Option.iter (fun (model, view) -> view.hide())
              let build = BuildList |> Seq.find(fun n ->
                  let dateString = n.Start.ToShortDateString().Replace("\\",".").Replace("/",".")
                  let timeString = n.Start.ToShortTimeString().Replace("\\",".").Replace("/", ".")
                  let desc = sprintf "%s - %s %s" n.Name dateString timeString
                  desc = buildDescription.data)
              build.Process.kill ()
              build.End <- Some DateTime.Now
          )
          ListView.registerListView stopChangingCallback cancelledCallback confirmedCallback viewForItem false
  
  
      let private 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")
  