public override async Task <InitializeResult> Initialize(InitializeParams @params) { _testEnvironment = @params.initializationOptions.testEnvironment; _analyzerCreationTask = CreateAnalyzerAndNotify(@params); // Test environment needs predictable initialization. if ([email protected] || _testEnvironment) { await _analyzerCreationTask; } return(new InitializeResult { capabilities = new ServerCapabilities { textDocumentSync = new TextDocumentSyncOptions { openClose = true, change = TextDocumentSyncKind.Incremental }, completionProvider = new CompletionOptions { triggerCharacters = new[] { "." } }, hoverProvider = true, signatureHelpProvider = new SignatureHelpOptions { triggerCharacters = new[] { "(,)" } }, // https://github.com/Microsoft/PTVS/issues/3803 // definitionProvider = true, referencesProvider = true } }); }
public override async Task <InitializeResult> Initialize(InitializeParams @params) { _testEnvironment = @params.initializationOptions.testEnvironment; _analyzerCreationTask = DoInitializeAsync(@params); // Test environment needs predictable initialization. if ([email protected]) { await _analyzerCreationTask; } return(new InitializeResult { capabilities = new ServerCapabilities { textDocumentSync = new TextDocumentSyncOptions { openClose = true, change = TextDocumentSyncKind.Incremental }, completionProvider = new CompletionOptions { triggerCharacters = new[] { "." } }, hoverProvider = true, signatureHelpProvider = new SignatureHelpOptions { triggerCharacters = new[] { "(,)" } }, definitionProvider = true, referencesProvider = true, workspaceSymbolProvider = true, documentSymbolProvider = true } }); }
public override async Task <InitializeResult> Initialize(InitializeParams @params) { ThrowIfDisposed(); await DoInitializeAsync(@params); return(new InitializeResult { capabilities = new ServerCapabilities { textDocumentSync = new TextDocumentSyncOptions { openClose = true, change = TextDocumentSyncKind.Incremental }, completionProvider = new CompletionOptions { triggerCharacters = new[] { "." } }, hoverProvider = true, signatureHelpProvider = new SignatureHelpOptions { triggerCharacters = new[] { "(,)" } }, definitionProvider = true, referencesProvider = true, workspaceSymbolProvider = true, documentSymbolProvider = true, executeCommandProvider = new ExecuteCommandOptions { commands = new[] { completionItemCommand } } } }); }
internal async Task <InitializeResult> Initialize(InitializeParams @params, CancellationToken cancellationToken) { ThrowIfDisposed(); await DoInitializeAsync(@params, cancellationToken); return(GetInitializeResult()); }
public async override Task <InitializeResult> Initialize(InitializeParams @params) { _analyzer = await CreateAnalyzer(@params.initializationOptions.interpreter); if (string.IsNullOrEmpty(_analyzer.InterpreterFactory?.Configuration?.InterpreterPath)) { LogMessage(MessageType.Log, "Initializing for unknown interpreter"); } else { LogMessage(MessageType.Log, $"Initializing for {_analyzer.InterpreterFactory.Configuration.InterpreterPath}"); } _clientCaps = @params.capabilities; if (@params.rootUri != null) { _rootDir = @params.rootUri; } else if (!string.IsNullOrEmpty(@params.rootPath)) { _rootDir = new Uri(PathUtils.NormalizePath(@params.rootPath)); } SetSearchPaths(@params.initializationOptions.searchPaths); _traceLogging = _clientCaps?.python?.traceLogging ?? false; if (_rootDir != null && !(_clientCaps?.python?.manualFileLoad ?? false)) { LogMessage(MessageType.Log, $"Loading files from {_rootDir}"); _loadingFromDirectory = LoadFromDirectoryAsync(_rootDir); } return(new InitializeResult { capabilities = new ServerCapabilities { completionProvider = new CompletionOptions { resolveProvider = true }, textDocumentSync = new TextDocumentSyncOptions { openClose = true, change = TextDocumentSyncKind.Incremental } } }); }
private async Task DoInitializeAsync(InitializeParams @params) { _analyzer = await CreateAnalyzer(@params.initializationOptions.interpreter); _clientCaps = @params.capabilities; _settings.SetCompletionTimeout(_clientCaps?.python?.completionsTimeout); _traceLogging = _clientCaps?.python?.traceLogging ?? false; _analyzer.EnableDiagnostics = _clientCaps?.python?.liveLinting ?? false; _reloadModulesQueueItem = new ReloadModulesQueueItem(_analyzer); if (@params.initializationOptions.displayOptions != null) { DisplayOptions = @params.initializationOptions.displayOptions; } _displayTextBuilder = DocumentationBuilder.Create(DisplayOptions); if (string.IsNullOrEmpty(_analyzer.InterpreterFactory?.Configuration?.InterpreterPath)) { LogMessage(MessageType.Log, "Initializing for generic interpreter"); } else { LogMessage(MessageType.Log, $"Initializing for {_analyzer.InterpreterFactory.Configuration.InterpreterPath}"); } if (@params.rootUri != null) { _rootDir = @params.rootUri.ToAbsolutePath(); } else if (!string.IsNullOrEmpty(@params.rootPath)) { _rootDir = PathUtils.NormalizePath(@params.rootPath); } SetSearchPaths(@params.initializationOptions.searchPaths); SetTypeStubSearchPaths(@params.initializationOptions.typeStubSearchPaths); if (_rootDir != null && !(_clientCaps?.python?.manualFileLoad ?? false)) { LogMessage(MessageType.Log, $"Loading files from {_rootDir}"); _loadingFromDirectory = LoadFromDirectoryAsync(_rootDir); } }
private async Task DoInitializeAsync(InitializeParams @params, CancellationToken token) { ThrowIfDisposed(); Analyzer = await _queue.ExecuteInQueueAsync(ct => CreateAnalyzer(@params.initializationOptions.interpreter, token), AnalysisPriority.High); ThrowIfDisposed(); _clientCaps = @params.capabilities; _traceLogging = @params.initializationOptions.traceLogging; _analysisUpdates = @params.initializationOptions.analysisUpdates; Analyzer.EnableDiagnostics = _clientCaps?.python?.liveLinting ?? false; _reloadModulesQueueItem = new ReloadModulesQueueItem(Analyzer); if (@params.initializationOptions.displayOptions != null) { DisplayOptions = @params.initializationOptions.displayOptions; } _displayTextBuilder = DocumentationBuilder.Create(DisplayOptions); if (string.IsNullOrEmpty(Analyzer.InterpreterFactory?.Configuration?.InterpreterPath)) { LogMessage(MessageType._General, "Initializing for generic interpreter"); } else { LogMessage(MessageType._General, $"Initializing for {Analyzer.InterpreterFactory.Configuration.InterpreterPath}"); } if (@params.rootUri != null) { _rootDir = @params.rootUri.ToAbsolutePath(); } else if (!string.IsNullOrEmpty(@params.rootPath)) { _rootDir = PathUtils.NormalizePath(@params.rootPath); } SetSearchPaths(@params.initializationOptions.searchPaths); SetTypeStubSearchPaths(@params.initializationOptions.typeStubSearchPaths); Analyzer.Interpreter.ModuleNamesChanged += Interpreter_ModuleNamesChanged; }
public abstract Task <InitializeResult> Initialize(InitializeParams @params);
private async Task CreateAnalyzerAndNotify(InitializeParams @params) { _analyzer = await CreateAnalyzer(@params.initializationOptions.interpreter); OnAnalyzerCreated(@params); }
public override Task <InitializeResult> Initialize(InitializeParams @params) => Initialize(@params, CancellationToken.None);