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

Method #resolveRuntimeTarget

src/cm/lsp/clientManager.ts:1059–1138  ·  view source on GitHub ↗
(
    server: LspServerDefinition,
    context: RootUriContext,
  )

Source from the content-addressed store, hash-verified

1057 }
1058
1059 async #resolveRuntimeTarget(
1060 server: LspServerDefinition,
1061 context: RootUriContext,
1062 ): Promise<ResolvedRuntimeTarget | null> {
1063 const originalDocumentUri = context.uri;
1064 if (!originalDocumentUri) return null;
1065
1066 const originalRootUri = await this.#resolveRootUri(server, context);
1067 const { normalizedRootUri } = normalizeRootUriForServer(
1068 server,
1069 originalRootUri,
1070 );
1071 const normalizedDocumentUri = await this.#resolveDocumentUri(
1072 server,
1073 context,
1074 );
1075 const providerContext = {
1076 ...context,
1077 uri: originalDocumentUri,
1078 documentUri: normalizedDocumentUri,
1079 originalDocumentUri,
1080 rootUri: originalRootUri,
1081 originalRootUri: originalRootUri ?? undefined,
1082 serverId: server.id,
1083 allowNonTerminalWorkspace:
1084 this.options.allowNonTerminalWorkspace === true,
1085 };
1086 const runtimeProvider = await selectRuntimeProvider(server, providerContext);
1087 if (!runtimeProvider) {
1088 console.warn(
1089 `No LSP runtime provider selected for ${server.id}: uri=${originalDocumentUri}, root=${originalRootUri ?? "none"}, normalizedUri=${normalizedDocumentUri ?? "none"}`,
1090 );
1091 return null;
1092 }
1093
1094 let documentUri = normalizedDocumentUri;
1095 let rootUri = normalizedRootUri;
1096 let scope: LspClientScope = "workspace";
1097
1098 if (runtimeProvider.resolveUris) {
1099 try {
1100 const resolution = await runtimeProvider.resolveUris(server, {
1101 ...providerContext,
1102 originalRootUri,
1103 normalizedDocumentUri,
1104 normalizedRootUri,
1105 });
1106 if (resolution) {
1107 if (Object.prototype.hasOwnProperty.call(resolution, "documentUri")) {
1108 documentUri = resolution.documentUri || null;
1109 }
1110 if (Object.prototype.hasOwnProperty.call(resolution, "rootUri")) {
1111 rootUri = resolution.rootUri || null;
1112 }
1113 if (resolution.scope) scope = resolution.scope;
1114 }
1115 } catch (error) {
1116 console.warn(

Callers 2

getExtensionsForFileMethod · 0.95
formatDocumentMethod · 0.95

Calls 5

#resolveRootUriMethod · 0.95
#resolveDocumentUriMethod · 0.95
selectRuntimeProviderFunction · 0.90
callMethod · 0.80

Tested by

no test coverage detected