public void RazorDocumentChanged(RazorFileChangeEventArgs args)
        {
            if (args.Kind == RazorFileChangeKind.Added ||
                args.Kind == RazorFileChangeKind.Removed)
            {
                // When documents get added or removed we need to refresh project state to properly reflect the host documents in the project.

                var evaluatedProjectInstance = _projectInstanceEvaluator.Evaluate(args.UnevaluatedProjectInstance);
                _ = _projectSnapshotManagerDispatcher.RunOnDispatcherThreadAsync(
                    () => UpdateProjectState(evaluatedProjectInstance), CancellationToken.None).ConfigureAwait(false);
            }
        }
        public void RazorDocumentChanged(RazorFileChangeEventArgs args)
        {
            _foregroundDispatcher.AssertBackgroundThread();

            if (args.Kind == RazorFileChangeKind.Added ||
                args.Kind == RazorFileChangeKind.Removed)
            {
                // When documents get added or removed we need to refresh project state to properly reflect the host documents in the project.

                var evaluatedProjectInstance = _projectInstanceEvaluator.Evaluate(args.UnevaluatedProjectInstance);
                Task.Factory.StartNew(
                    () => UpdateProjectState(evaluatedProjectInstance),
                    CancellationToken.None,
                    TaskCreationOptions.None,
                    _foregroundDispatcher.ForegroundScheduler);
            }
        }
        public void RazorDocumentChanged(RazorFileChangeEventArgs args)
        {
            if (args is null)
            {
                throw new ArgumentNullException(nameof(args));
            }

            if (args.Kind != RazorFileChangeKind.Changed)
            {
                return;
            }

            var projectFilePath  = args.UnevaluatedProjectInstance.ProjectFileLocation.File;
            var documentFilePath = args.FilePath;

            Task.Factory.StartNew(
                () => _projectManager.DocumentChanged(projectFilePath, documentFilePath),
                CancellationToken.None, TaskCreationOptions.None, _foregroundDispatcher.ForegroundScheduler);
        }
        public void RazorDocumentChanged(RazorFileChangeEventArgs args)
        {
            if (args is null)
            {
                throw new ArgumentNullException(nameof(args));
            }

            if (args.Kind != RazorFileChangeKind.Changed)
            {
                return;
            }

            var projectFilePath  = args.UnevaluatedProjectInstance.ProjectFileLocation.File;
            var documentFilePath = args.FilePath;

            _ = _projectSnapshotManagerDispatcher.RunOnDispatcherThreadAsync(
                () => _projectManager.DocumentChanged(projectFilePath, documentFilePath),
                CancellationToken.None).ConfigureAwait(false);
        }