anchor.diff:  open System.Runtime.InteropServices
   open System.Net
   open Microsoft.FSharp.Compiler.SourceCodeServices
  +open Newtonsoft.Json
   open Parser
   open State
   
  -let startProcess workingDir fileName args port =
  +type ProcessOptions(?envVars, ?redirectOutput) =
  +    member val EnvVars = defaultArg envVars Map.empty<string,string>
  +    member val RedirectOuput = defaultArg redirectOutput false
  +
  +let startProcess workingDir fileName args (opts: ProcessOptions) =
       let fileName, args =
           let isWindows =
               #if NETFX
  
positive.code:             | None -> ""
          startServerWithProcess port cmd execArgs
      | Some "add" ->
          let packages = argv.[1..]
          let workingDir = Directory.GetCurrentDirectory()
          runProcess workingDir "npm" ("install --save-dev " + (String.concat " " packages))
          let nodeModulesDir = Path.Combine(findPackageJsonDir workingDir, "node_modules")
          for pkg in packages do
  
negative.code:             let pkgDir = Path.Combine(nodeModulesDir, pkg)
              Directory.GetFiles(pkgDir, "*.fsproj") |> Array.tryHead |> function
              | Some projRef ->
                  runProcess workingDir "dotnet" ("add reference \"" + projRef + "\"")
              | None ->
                  printfn "Cannot find .fsproj in %s" pkgDir
          runProcess workingDir "dotnet" "restore"
  