MCPcopy Create free account
hub / github.com/Acode-Foundation/Acode / #initializeClient

Method #initializeClient

src/cm/lsp/clientManager.ts:579–938  ·  view source on GitHub ↗
(
    server: LspServerDefinition,
    context: RootUriContext,
    initContext: InitContext,
  )

Source from the content-addressed store, hash-verified

577 }
578
579 async #initializeClient(
580 server: LspServerDefinition,
581 context: RootUriContext,
582 initContext: InitContext,
583 ): Promise<ClientState> {
584 const {
585 key,
586 normalizedRootUri,
587 originalRootUri,
588 originalDocumentUri,
589 documentUri,
590 runtimeProvider,
591 scope,
592 } = initContext;
593
594 const workspaceOptions = {
595 displayFile: this.options.displayFile,
596 openFile: this.options.openFile,
597 resolveLanguageId: this.options.resolveLanguageId,
598 };
599
600 const clientConfig = { ...(server.clientConfig ?? {}) };
601 const initializationOptions = resolveInitializationOptions(
602 server,
603 clientConfig as Record<string, unknown>,
604 );
605 const builtinConfig = clientConfig.builtinExtensions ?? {};
606 const useDefaultExtensions = clientConfig.useDefaultExtensions !== false;
607 const { extensions: defaultExtensions, diagnosticsExtension } =
608 useDefaultExtensions
609 ? buildBuiltinExtensions({
610 hover: builtinConfig.hover !== false,
611 completion: builtinConfig.completion !== false,
612 signature: builtinConfig.signature !== false,
613 keymaps: builtinConfig.keymaps !== false,
614 diagnostics: builtinConfig.diagnostics !== false,
615 inlayHints: builtinConfig.inlayHints === true,
616 formatting: builtinConfig.formatting !== false,
617 })
618 : { extensions: [], diagnosticsExtension: null };
619
620 const extraExtensions = asArray(this.options.clientExtensions);
621 const serverExtensions = asArray(clientConfig.extensions);
622
623 interface ExtensionWithCapabilities {
624 clientCapabilities?: {
625 textDocument?: {
626 publishDiagnostics?: unknown;
627 };
628 };
629 }
630
631 const wantsCustomDiagnostics = [
632 ...extraExtensions,
633 ...serverExtensions,
634 ].some((ext) => {
635 const extWithCaps = ext as ExtensionWithCapabilities;
636 return !!extWithCaps?.clientCapabilities?.textDocument

Callers 1

#ensureClientMethod · 0.95

Calls 15

#createClientStateMethod · 0.95
addLspLogFunction · 0.90
buildBuiltinExtensionsFunction · 0.85
asArrayFunction · 0.85
logLspInfoFunction · 0.85
connectClientFunction · 0.85
pushNotificationMethod · 0.80
setMethod · 0.80
stopMethod · 0.65
showMethod · 0.45

Tested by

no test coverage detected