private DefaultRazorProjectService CreateProjectService(
            ProjectResolver projectResolver,
            ProjectSnapshotManagerBase projectSnapshotManager,
            DocumentResolver documentResolver         = null,
            DocumentVersionCache documentVersionCache = null)
        {
            documentVersionCache = documentVersionCache ?? Mock.Of <DocumentVersionCache>();
            var filePathNormalizer = new FilePathNormalizer();
            var accessor           = Mock.Of <ProjectSnapshotManagerAccessor>(a => a.Instance == projectSnapshotManager);

            documentResolver = documentResolver ?? Mock.Of <DocumentResolver>();
            var hostDocumentFactory     = new TestHostDocumentFactory();
            var remoteTextLoaderFactory = Mock.Of <RemoteTextLoaderFactory>(factory => factory.Create(It.IsAny <string>()) == Mock.Of <TextLoader>());
            var projectService          = new DefaultRazorProjectService(
                Dispatcher,
                hostDocumentFactory,
                remoteTextLoaderFactory,
                documentResolver,
                projectResolver,
                documentVersionCache,
                filePathNormalizer,
                accessor,
                LoggerFactory);

            return(projectService);
        }
 public FallbackRazorProjectHost(
     DotNetProject project,
     ForegroundDispatcher foregroundDispatcher,
     ProjectSnapshotManagerBase projectSnapshotManager)
     : base(project, foregroundDispatcher, projectSnapshotManager)
 {
 }
        public ProjectSnapshotSynchronizationService(
            JoinableTaskFactory joinableTaskFactory,
            LiveShareSessionAccessor liveShareSessionAccessor,
            IProjectSnapshotManagerProxy hostProjectManagerProxy,
            ProjectSnapshotManagerBase projectSnapshotManager)
        {
            if (joinableTaskFactory == null)
            {
                throw new ArgumentNullException(nameof(joinableTaskFactory));
            }

            if (liveShareSessionAccessor == null)
            {
                throw new ArgumentNullException(nameof(liveShareSessionAccessor));
            }

            if (hostProjectManagerProxy == null)
            {
                throw new ArgumentNullException(nameof(hostProjectManagerProxy));
            }

            if (projectSnapshotManager == null)
            {
                throw new ArgumentNullException(nameof(projectSnapshotManager));
            }

            _joinableTaskFactory      = joinableTaskFactory;
            _liveShareSessionAccessor = liveShareSessionAccessor;
            _hostProjectManagerProxy  = hostProjectManagerProxy;
            _projectSnapshotManager   = projectSnapshotManager;
        }
 public DefaultRazorProjectHost(
     DotNetProject project,
     ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher,
     ProjectSnapshotManagerBase projectSnapshotManager)
     : base(project, projectSnapshotManagerDispatcher, projectSnapshotManager)
 {
 }
 public FallbackMacRazorProjectHost(
     DotNetProject project,
     ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher,
     ProjectSnapshotManagerBase projectSnapshotManager,
     ProjectConfigurationFilePathStore projectConfigurationFilePathStore,
     VSLanguageServerFeatureOptions languageServerFeatureOptions)
     : base(project, projectSnapshotManagerDispatcher, projectSnapshotManager, projectConfigurationFilePathStore)
 {
     _languageServerFeatureOptions = languageServerFeatureOptions;
 }
Example #6
0
        public override void Initialize(ProjectSnapshotManagerBase projectManager)
        {
            if (projectManager == null)
            {
                throw new ArgumentNullException(nameof(projectManager));
            }

            _projectManager          = projectManager;
            _projectManager.Changed += ProjectManager_Changed;
        }
Example #7
0
        public override void Initialize(ProjectSnapshotManagerBase projectManager)
        {
            if (projectManager == null)
            {
                throw new ArgumentNullException(nameof(projectManager));
            }

            _projectManager = projectManager;

            IdeApp.ProjectOperations.EndBuild += ProjectOperations_EndBuild;
        }
Example #8
0
        public DefaultOmniSharpProjectSnapshotManager(ProjectSnapshotManagerBase projectSnapshotManager)
        {
            if (projectSnapshotManager == null)
            {
                throw new ArgumentNullException(nameof(projectSnapshotManager));
            }

            InternalProjectSnapshotManager = projectSnapshotManager;

            InternalProjectSnapshotManager.Changed += ProjectSnapshotManager_Changed;
        }
Example #9
0
        public override void Initialize(ProjectSnapshotManagerBase projectManager)
        {
            if (projectManager == null)
            {
                throw new ArgumentNullException(nameof(projectManager));
            }

            _projectManager = projectManager;

            _tagHelperResolver = _projectManager.Workspace.Services.GetRequiredService <TagHelperResolver>();
        }
Example #10
0
        public override void Initialize(ProjectSnapshotManagerBase projectManager)
        {
            if (projectManager == null)
            {
                throw new ArgumentNullException(nameof(projectManager));
            }

            _projectManager  = projectManager;
            _documentManager = projectManager.Workspace.Services.GetRequiredService <EditorDocumentManager>();

            _projectManager.Changed += ProjectManager_Changed;
        }
        public override void Initialize(ProjectSnapshotManagerBase projectManager)
        {
            _projectManager = projectManager;

            // Attach the event sink to solution update events.
            if (_services.GetService(typeof(SVsSolutionBuildManager)) is IVsSolutionBuildManager solutionBuildManager)
            {
                // We expect this to be called only once. So we don't need to Unadvise.
                var hr = solutionBuildManager.AdviseUpdateSolutionEvents(this, out _);
                Marshal.ThrowExceptionForHR(hr);
            }
        }
Example #12
0
        private bool TryGetProjectSnapshotManager(out ProjectSnapshotManagerBase projectSnapshotManagerBase)
        {
            if (!_workspaceAccessor.TryGetWorkspace(_project.ParentSolution, out var workspace))
            {
                // Could not locate workspace for razor project. Project is most likely tearing down.
                projectSnapshotManagerBase = null;
                return(false);
            }

            var languageService = workspace.Services.GetLanguageServices(RazorLanguage.Name);

            projectSnapshotManagerBase = (ProjectSnapshotManagerBase)languageService.GetRequiredService <ProjectSnapshotManager>();

            return(true);
        }
        public override void Initialize(ProjectSnapshotManagerBase projectManager)
        {
            _projectSnapshotManager = projectManager;

            _ = _joinableTaskContext.Factory.RunAsync(async() =>
            {
                await _joinableTaskContext.Factory.SwitchToMainThreadAsync();

                if (_serviceProvider.GetService(typeof(SVsSolution)) is IVsSolution solution)
                {
                    _solution = solution;
                    _solution.AdviseSolutionEvents(this, out _cookie);
                }
            });
        }
        public override void Initialize(ProjectSnapshotManagerBase projectManager)
        {
            if (projectManager == null)
            {
                throw new ArgumentNullException(nameof(projectManager));
            }

            _projectManager = projectManager;

            _projectManager.Changed += ProjectSnapshotManager_Changed;

            foreach (var documentProcessedListener in _documentProcessedListeners)
            {
                documentProcessedListener.Initialize(_projectManager);
            }
        }
Example #15
0
        public DefaultOmniSharpProjectSnapshotManager(
            ProjectSnapshotManagerBase projectSnapshotManager,
            RemoteTextLoaderFactory remoteTextLoaderFactory)
        {
            if (projectSnapshotManager == null)
            {
                throw new ArgumentNullException(nameof(projectSnapshotManager));
            }

            if (remoteTextLoaderFactory is null)
            {
                throw new ArgumentNullException(nameof(remoteTextLoaderFactory));
            }

            InternalProjectSnapshotManager          = projectSnapshotManager;
            _remoteTextLoaderFactory                = remoteTextLoaderFactory;
            InternalProjectSnapshotManager.Changed += ProjectSnapshotManager_Changed;
        }
        public override void Initialize(ProjectSnapshotManagerBase projectManager)
        {
            _projectManager          = projectManager;
            _projectManager.Changed += ProjectManager_Changed;

            _ = _joinableTaskContext.Factory.RunAsync(async() =>
            {
                await _joinableTaskContext.Factory.SwitchToMainThreadAsync();

                // Attach the event sink to solution update events.
                if (_services.GetService(typeof(SVsSolutionBuildManager)) is IVsSolutionBuildManager solutionBuildManager)
                {
                    _solutionBuildManager = solutionBuildManager;

                    // We expect this to be called only once. So we don't need to Unadvise.
                    var hr = _solutionBuildManager.AdviseUpdateSolutionEvents(this, out _updateCookie);
                    Marshal.ThrowExceptionForHR(hr);
                }
            });
        }
Example #17
0
        private DefaultRazorProjectService CreateProjectService(
            ProjectResolver projectResolver,
            ProjectSnapshotManagerBase projectSnapshotManager,
            DocumentResolver documentResolver = null)
        {
            var documentVersionCache = Mock.Of <DocumentVersionCache>();
            var filePathNormalizer   = new FilePathNormalizer();
            var accessor             = Mock.Of <ProjectSnapshotManagerAccessor>(a => a.Instance == projectSnapshotManager);

            documentResolver = documentResolver ?? Mock.Of <DocumentResolver>();
            var hostDocumentFactory = new TestHostDocumentFactory();
            var projectService      = new DefaultRazorProjectService(
                Dispatcher,
                hostDocumentFactory,
                documentResolver,
                projectResolver,
                documentVersionCache,
                filePathNormalizer,
                accessor,
                LoggerFactory);

            return(projectService);
        }
        public MacRazorProjectHostBase(
            DotNetProject project,
            ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher,
            ProjectSnapshotManagerBase projectSnapshotManager,
            ProjectConfigurationFilePathStore projectConfigurationFilePathStore)
        {
            if (project is null)
            {
                throw new ArgumentNullException(nameof(project));
            }

            if (projectSnapshotManagerDispatcher is null)
            {
                throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher));
            }

            if (projectSnapshotManager is null)
            {
                throw new ArgumentNullException(nameof(projectSnapshotManager));
            }

            if (projectConfigurationFilePathStore is null)
            {
                throw new ArgumentNullException(nameof(projectConfigurationFilePathStore));
            }

            DotNetProject = project;
            ProjectSnapshotManagerDispatcher  = projectSnapshotManagerDispatcher;
            _projectSnapshotManager           = projectSnapshotManager;
            ProjectConfigurationFilePathStore = projectConfigurationFilePathStore;
            _onProjectChangedInnerSemaphore   = new AsyncSemaphore(initialCount: 1);
            _projectChangedSemaphore          = new AsyncSemaphore(initialCount: 1);
            _currentDocuments = new Dictionary <string, HostDocument>(FilePathComparer.Instance);

            AttachToProject();
        }
Example #19
0
        // Internal for testing
        internal ProjectBuildChangeTrigger(
            ForegroundDispatcher foregroundDispatcher,
            TextBufferProjectService projectService,
            ProjectSnapshotManagerBase projectManager)
        {
            if (foregroundDispatcher == null)
            {
                throw new ArgumentNullException(nameof(foregroundDispatcher));
            }

            if (projectService == null)
            {
                throw new ArgumentNullException(nameof(projectService));
            }

            if (projectManager == null)
            {
                throw new ArgumentNullException(nameof(projectManager));
            }

            _foregroundDispatcher = foregroundDispatcher;
            _projectService       = projectService;
            _projectManager       = projectManager;
        }
 public TestProjectSnapshotManagerAccessor(ProjectSnapshotManagerBase instance)
 {
     Instance = instance;
 }
Example #21
0
 public abstract void Initialize(ProjectSnapshotManagerBase projectManager);
Example #22
0
 public override void Initialize(ProjectSnapshotManagerBase projectManager)
 {
     throw new NotImplementedException();
 }
Example #23
0
 public override void Initialize(ProjectSnapshotManagerBase projectManager)
 {
     _projectSnapshotManager          = projectManager;
     _projectSnapshotManager.Changed += ProjectSnapshotManager_Changed;
 }
 public override void Initialize(ProjectSnapshotManagerBase projectManager)
 {
 }