void OnFileAdded(object sender, MonoDevelop.Projects.ProjectFileEventArgs args) { if (internalChanges) { return; } var project = (MonoDevelop.Projects.Project)sender; foreach (MonoDevelop.Projects.ProjectFileEventInfo fargs in args) { var projectFile = fargs.ProjectFile; if (projectFile.Subtype == MonoDevelop.Projects.Subtype.Directory) { continue; } var projectData = GetProjectData(GetProjectId(project)); if (TypeSystemParserNode.IsCompileBuildAction(projectFile.BuildAction)) { var newDocument = CreateDocumentInfo(solutionData, project.Name, projectData, projectFile); OnDocumentAdded(newDocument); } else { foreach (var projectedDocument in GenerateProjections(projectFile, projectData, project)) { OnDocumentAdded(projectedDocument); } } } }
void OnFileRemoved(object sender, MonoDevelop.Projects.ProjectFileEventArgs args) { if (internalChanges) { return; } var project = (MonoDevelop.Projects.Project)sender; foreach (MonoDevelop.Projects.ProjectFileEventInfo fargs in args) { var projectId = GetProjectId(project); var data = GetProjectData(projectId); var id = data.GetDocumentId(fargs.ProjectFile.FilePath); if (id != null) { ClearDocumentData(id); OnDocumentRemoved(id); data.RemoveDocument(fargs.ProjectFile.FilePath); } else { foreach (var entry in ProjectionList) { if (entry.File == fargs.ProjectFile) { foreach (var projectedDocument in entry.Projections) { id = data.GetDocumentId(projectedDocument.Document.FileName); if (id != null) { ClearDocumentData(id); OnDocumentRemoved(id); data.RemoveDocument(projectedDocument.Document.FileName); } } break; } } } } }
void OnFileRemoved(object sender, MonoDevelop.Projects.ProjectFileEventArgs args) { if (internalChanges) { return; } var project = (MonoDevelop.Projects.Project)sender; foreach (MonoDevelop.Projects.ProjectFileEventInfo fargs in args) { var projectId = GetProjectId(project); var data = GetProjectData(projectId); var id = data.GetDocumentId(fargs.ProjectFile.FilePath); if (id != null) { ClearDocumentData(id); OnDocumentRemoved(id); data.RemoveDocument(fargs.ProjectFile.FilePath); } } }
void FileChangedInProject(object sender, MonoDevelop.Projects.ProjectFileEventArgs e) { cache.Remove(e.ProjectFile.Name); }