MCPcopy Index your code
hub / github.com/microsoft/vscode-languageserver-node / initialize

Function initialize

client/src/client.ts:2583–2660  ·  view source on GitHub ↗
(connection: IConnection)

Source from the content-addressed store, hash-verified

2581 }
2582
2583 private initialize(connection: IConnection): Thenable<InitializeResult> {
2584 this.refreshTrace(connection, false);
2585 let initOption = this._clientOptions.initializationOptions;
2586 let rootPath = this._clientOptions.workspaceFolder
2587 ? this._clientOptions.workspaceFolder.uri.fsPath
2588 : this._clientGetRootPath();
2589 let initParams: InitializeParams = {
2590 processId: process.pid,
2591 rootPath: rootPath ? rootPath : null,
2592 rootUri: rootPath ? this._c2p.asUri(Uri.file(rootPath)) : null,
2593 capabilities: this.computeClientCapabilities(),
2594 initializationOptions: Is.func(initOption) ? initOption() : initOption,
2595 trace: Trace.toString(this._trace),
2596 workspaceFolders: null
2597 };
2598 this.fillInitializeParams(initParams);
2599 return connection.initialize(initParams).then((result) => {
2600 this._resolvedConnection = connection;
2601 this._initializeResult = result;
2602 this.state = ClientState.Running;
2603
2604 let textDocumentSyncOptions: TextDocumentSyncOptions | undefined = undefined;
2605 if (Is.number(result.capabilities.textDocumentSync) && result.capabilities.textDocumentSync !== TextDocumentSyncKind.None) {
2606 textDocumentSyncOptions = {
2607 openClose: true,
2608 change: result.capabilities.textDocumentSync,
2609 save: {
2610 includeText: false
2611 }
2612 };
2613 } else if (result.capabilities.textDocumentSync !== void 0 && result.capabilities.textDocumentSync !== null) {
2614 textDocumentSyncOptions = result.capabilities.textDocumentSync as TextDocumentSyncOptions;
2615 }
2616 this._capabilities = Object.assign({}, result.capabilities, { resolvedTextDocumentSync: textDocumentSyncOptions });
2617
2618 connection.onDiagnostics(params => this.handleDiagnostics(params));
2619 connection.onRequest(RegistrationRequest.type, params => this.handleRegistrationRequest(params));
2620 // See https://github.com/Microsoft/vscode-languageserver-node/issues/199
2621 connection.onRequest('client/registerFeature', params => this.handleRegistrationRequest(params));
2622 connection.onRequest(UnregistrationRequest.type, params => this.handleUnregistrationRequest(params));
2623 // See https://github.com/Microsoft/vscode-languageserver-node/issues/199
2624 connection.onRequest('client/unregisterFeature', params => this.handleUnregistrationRequest(params));
2625 connection.onRequest(ApplyWorkspaceEditRequest.type, params => this.handleApplyWorkspaceEdit(params));
2626
2627 connection.sendNotification(InitializedNotification.type, {});
2628
2629 this.hookFileEvents(connection);
2630 this.hookConfigurationChanged(connection);
2631 this.initializeFeatures(connection);
2632 this._onReadyCallbacks.resolve();
2633 return result;
2634 }, (error: any) => {
2635 if (this._clientOptions.initializationFailedHandler) {
2636 if (this._clientOptions.initializationFailedHandler(error)) {
2637 this.initialize(connection);
2638 } else {
2639 this.stop();
2640 this._onReadyCallbacks.reject(error);

Callers

nothing calls this directly

Calls 9

fillInitializeParamsMethod · 0.80
onDiagnosticsMethod · 0.80
stopMethod · 0.80
asUriMethod · 0.65
initializeMethod · 0.65
onRequestMethod · 0.65
sendNotificationMethod · 0.65
showErrorMessageMethod · 0.65
errorMethod · 0.65

Tested by

no test coverage detected