anchor.diff:              projectContext.AddSourceFile(fileName)
               
               let project = projectContext :?> AbstractProject
  -            let documentId = project.GetCurrentDocumentFromPath(fileName).Id
  -
  -            let rec onDocumentClosed = EventHandler<DocumentEventArgs> (fun _ args ->
  -                if args.Document.Id = documentId then
  -                    projectInfoManager.RemoveSingleFileProject(projectId)
  -                    project.Disconnect()
  -                    workspace.DocumentClosed.RemoveHandler(onDocumentClosed)
  -            )
  -            workspace.DocumentClosed.AddHandler(onDocumentClosed)
  +            singleFileProjects.[projectId] <- project
   
       override this.ContentTypeName = FSharpCommonConstants.FSharpContentTypeName
       override this.LanguageName = FSharpCommonConstants.FSharpLanguageName
  
positive.code:         // update the cached options
          if updated then
              projectInfoManager.UpdateProjectInfo(project.Id, site, project.Workspace)
  
      member this.SetupProjectFile(siteProvider: IProvideProjectSite, workspace: VisualStudioWorkspaceImpl) =
          let  rec setup (site: IProjectSite) =
  
negative.code:             | Some (hier, _) ->
                  match hier with
                  | :? IProvideProjectSite as siteProvider when not (IsScript(filename)) -> 
                      this.SetupProjectFile(siteProvider, this.Workspace)
                  | _ -> 
                      let fileContents = VsTextLines.GetFileContents(textLines, textViewAdapter)
                      this.SetupStandAloneFile(filename, fileContents, this.Workspace, hier)
              | _ -> ()
          | _ -> ()
  
        
  