| File: Workspace\WorkspaceChangeKind.cs | Web Access |
| Project: src\roslyn\src\Workspaces\Core\Portable\Microsoft.CodeAnalysis.Workspaces.csproj (Microsoft.CodeAnalysis.Workspaces) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. namespace Microsoft.CodeAnalysis; public enum WorkspaceChangeKind { /// <summary> /// The current solution changed for an unspecified reason. /// </summary> SolutionChanged = 0, /// <summary> /// A solution was added to the workspace. /// </summary> SolutionAdded = 1, /// <summary> /// The current solution was removed from the workspace. /// </summary> SolutionRemoved = 2, /// <summary> /// The current solution was cleared of all projects and documents. /// </summary> SolutionCleared = 3, /// <summary> /// The current solution was reloaded. /// </summary> SolutionReloaded = 4, /// <summary> /// A project was added to the current solution. /// </summary> ProjectAdded = 5, /// <summary> /// A project was removed from the current solution. /// </summary> ProjectRemoved = 6, /// <summary> /// A project in the current solution was changed. /// </summary> ProjectChanged = 7, /// <summary> /// A project in the current solution was reloaded. /// </summary> ProjectReloaded = 8, /// <summary> /// A document was added to the current solution. /// </summary> DocumentAdded = 9, /// <summary> /// A document was removed from the current solution. /// </summary> DocumentRemoved = 10, /// <summary> /// A document in the current solution was reloaded. /// </summary> DocumentReloaded = 11, /// <summary> /// A document in the current solution was changed. /// <para> /// When linked files are edited, one <see cref="DocumentChanged"/> event is fired per /// linked file. All of these events contain the same OldSolution, and they all contain /// the same NewSolution. This is so that we can trigger document change events on all /// affected documents without reporting intermediate states in which the linked file /// contents do not match. Each <see cref="DocumentChanged"/> event does not represent /// an incremental update from the previous event in this special case. /// </para> /// </summary> DocumentChanged = 12, /// <summary> /// An additional document was added to the current solution. /// </summary> AdditionalDocumentAdded = 13, /// <summary> /// An additional document was removed from the current solution. /// </summary> AdditionalDocumentRemoved = 14, /// <summary> /// An additional document in the current solution was reloaded. /// </summary> AdditionalDocumentReloaded = 15, /// <summary> /// An additional document in the current solution was changed. /// </summary> AdditionalDocumentChanged = 16, /// <summary> /// The document in the current solution had is info changed; name, folders, filepath /// </summary> DocumentInfoChanged = 17, /// <summary> /// An analyzer config document was added to the current solution. /// </summary> AnalyzerConfigDocumentAdded = 18, /// <summary> /// An analyzer config document was removed from the current solution. /// </summary> AnalyzerConfigDocumentRemoved = 19, /// <summary> /// An analyzer config document in the current solution was reloaded. /// </summary> AnalyzerConfigDocumentReloaded = 20, /// <summary> /// An analyzer config document in the current solution was changed. /// </summary> AnalyzerConfigDocumentChanged = 21, } internal static class WorkspaceChangeKindExtensions { public static bool IsValid(this WorkspaceChangeKind kind) => kind is >= WorkspaceChangeKind.SolutionChanged and <= WorkspaceChangeKind.AnalyzerConfigDocumentChanged; }