Пример #1
0
        public DefaultRazorLanguageServerCustomMessageTarget(
            LSPDocumentManager documentManager,
            JoinableTaskContext joinableTaskContext,
            LSPRequestInvoker requestInvoker)
        {
            if (documentManager is null)
            {
                throw new ArgumentNullException(nameof(documentManager));
            }

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

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

            _documentManager = documentManager as TrackingLSPDocumentManager;

            if (_documentManager is null)
            {
#pragma warning disable CA2208 // Instantiate argument exceptions correctly
                throw new ArgumentException("The LSP document manager should be of type " + typeof(TrackingLSPDocumentManager).FullName, nameof(_documentManager));
#pragma warning restore CA2208 // Instantiate argument exceptions correctly
            }

            _joinableTaskFactory       = joinableTaskContext.Factory;
            _requestInvoker            = requestInvoker;
            _updateCSharpSemaphoreSlim = new SingleThreadedFIFOSemaphoreSlim();
            _updateHtmlSemaphoreSlim   = new SingleThreadedFIFOSemaphoreSlim();
        }
Пример #2
0
        public RazorLanguageServerClient(
            RazorLanguageServerCustomMessageTarget customTarget,
            RazorLanguageClientMiddleLayer middleLayer,
            LSPRequestInvoker requestInvoker,
            ProjectConfigurationFilePathStore projectConfigurationFilePathStore)
        {
            if (customTarget is null)
            {
                throw new ArgumentNullException(nameof(customTarget));
            }

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

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

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

            _customMessageTarget = customTarget;
            _middleLayer         = middleLayer;
            _requestInvoker      = requestInvoker;
            _projectConfigurationFilePathStore = projectConfigurationFilePathStore;
            _shutdownLock = new object();
        }
Пример #3
0
        // Testing constructor
        internal DefaultRazorLanguageServerCustomMessageTarget(
            LSPDocumentManager documentManager,
            JoinableTaskContext joinableTaskContext,
            LSPRequestInvoker requestInvoker,
            RazorUIContextManager uIContextManager,
            IDisposable razorReadyListener,
            RazorLSPClientOptionsMonitor clientOptionsMonitor,
            LSPDocumentSynchronizer documentSynchronizer)
        {
            if (documentManager is null)
            {
                throw new ArgumentNullException(nameof(documentManager));
            }

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

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

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

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

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

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

            _documentManager = documentManager as TrackingLSPDocumentManager;

            if (_documentManager is null)
            {
                throw new ArgumentException("The LSP document manager should be of type " + typeof(TrackingLSPDocumentManager).FullName, nameof(_documentManager));
            }

            _joinableTaskFactory  = joinableTaskContext.Factory;
            _requestInvoker       = requestInvoker;
            _uIContextManager     = uIContextManager;
            _razorReadyListener   = razorReadyListener;
            _clientOptionsMonitor = clientOptionsMonitor;
            _documentSynchronizer = documentSynchronizer;
        }
        public WorkspaceConfigurationChangedListener(LSPRequestInvoker requestInvoker)
        {
            if (requestInvoker is null)
            {
                throw new ArgumentNullException(nameof(requestInvoker));
            }

            _requestInvoker = requestInvoker;
        }
Пример #5
0
        public RazorCSharpSemanticTokensInterceptor(LSPRequestInvoker requestInvoker)
        {
            if (requestInvoker is null)
            {
                throw new ArgumentNullException(nameof(requestInvoker));
            }

            _requestInvoker = requestInvoker;
        }
        public RazorLanguageServerClient(
            RazorLanguageServerCustomMessageTarget customTarget,
            RazorLanguageClientMiddleLayer middleLayer,
            LSPRequestInvoker requestInvoker,
            ProjectConfigurationFilePathStore projectConfigurationFilePathStore,
            RazorLanguageServerLogHubLoggerProviderFactory logHubLoggerProviderFactory,
            VSLanguageServerFeatureOptions vsLanguageServerFeatureOptions,
            VSHostServicesProvider vsHostWorkspaceServicesProvider)
        {
            if (customTarget is null)
            {
                throw new ArgumentNullException(nameof(customTarget));
            }

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

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

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

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

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

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

            _customMessageTarget = customTarget;
            _middleLayer         = middleLayer;
            _requestInvoker      = requestInvoker;
            _projectConfigurationFilePathStore = projectConfigurationFilePathStore;
            _logHubLoggerProviderFactory       = logHubLoggerProviderFactory;
            _vsLanguageServerFeatureOptions    = vsLanguageServerFeatureOptions;
            _vsHostWorkspaceServicesProvider   = vsHostWorkspaceServicesProvider;
            _shutdownLock = new object();
        }
 public DefaultRazorLanguageServerCustomMessageTarget(
     LSPDocumentManager documentManager,
     JoinableTaskContext joinableTaskContext,
     LSPRequestInvoker requestInvoker,
     RazorUIContextManager uIContextManager,
     IRazorAsynchronousOperationListenerProviderAccessor asyncOpListenerProvider) :
     this(
         documentManager,
         joinableTaskContext,
         requestInvoker,
         uIContextManager,
         asyncOpListenerProvider.GetListener(RazorReadyFeature).BeginAsyncOperation(RazorReadyFeature))
 {
 }
Пример #8
0
        public DefaultLSPProximityExpressionsProvider(
            LSPRequestInvoker requestInvoker,
            HTMLCSharpLanguageServerLogHubLoggerProvider loggerProvider)
        {
            if (requestInvoker is null)
            {
                throw new ArgumentNullException(nameof(requestInvoker));
            }

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

            _requestInvoker = requestInvoker;
            _loggerProvider = loggerProvider;
        }
        // Testing constructor
        internal DefaultRazorLanguageServerCustomMessageTarget(
            LSPDocumentManager documentManager,
            JoinableTaskContext joinableTaskContext,
            LSPRequestInvoker requestInvoker,
            RazorUIContextManager uIContextManager,
            IDisposable razorReadyListener)
        {
            if (documentManager is null)
            {
                throw new ArgumentNullException(nameof(documentManager));
            }

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

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

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

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

            _documentManager = documentManager as TrackingLSPDocumentManager;

            if (_documentManager is null)
            {
#pragma warning disable CA2208 // Instantiate argument exceptions correctly
                throw new ArgumentException("The LSP document manager should be of type " + typeof(TrackingLSPDocumentManager).FullName, nameof(_documentManager));
#pragma warning restore CA2208 // Instantiate argument exceptions correctly
            }

            _joinableTaskFactory = joinableTaskContext.Factory;
            _requestInvoker      = requestInvoker;
            _uIContextManager    = uIContextManager;
            _razorReadyListener  = razorReadyListener;
        }