Skip to content

Commit afb208d

Browse files
authored
get isense client by uri (#13059)
1 parent fbf8135 commit afb208d

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

Extension/src/LanguageServer/client.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,7 @@ interface DidChangeActiveEditorParams {
527527
}
528528

529529
interface GetIncludesParams {
530+
fileUri: string;
530531
maxDepth: number;
531532
}
532533

@@ -827,7 +828,7 @@ export interface Client {
827828
setShowConfigureIntelliSenseButton(show: boolean): void;
828829
addTrustedCompiler(path: string): Promise<void>;
829830
getCopilotHoverProvider(): CopilotHoverProvider | undefined;
830-
getIncludes(maxDepth: number): Promise<GetIncludesResult>;
831+
getIncludes(uri: vscode.Uri, maxDepth: number): Promise<GetIncludesResult>;
831832
getChatContext(uri: vscode.Uri, token: vscode.CancellationToken): Promise<ChatContextResult>;
832833
getProjectContext(uri: vscode.Uri): Promise<ProjectContextResult>;
833834
filesEncodingChanged(filesEncodingChanged: FilesEncodingChanged): void;
@@ -2291,8 +2292,8 @@ export class DefaultClient implements Client {
22912292
* the UI results and always re-requests (no caching).
22922293
*/
22932294

2294-
public async getIncludes(maxDepth: number): Promise<GetIncludesResult> {
2295-
const params: GetIncludesParams = { maxDepth: maxDepth };
2295+
public async getIncludes(uri: vscode.Uri, maxDepth: number): Promise<GetIncludesResult> {
2296+
const params: GetIncludesParams = { fileUri: uri.toString(), maxDepth };
22962297
await this.ready;
22972298
return this.languageClient.sendRequest(IncludesRequest, params);
22982299
}
@@ -4235,7 +4236,7 @@ class NullClient implements Client {
42354236
setShowConfigureIntelliSenseButton(show: boolean): void { }
42364237
addTrustedCompiler(path: string): Promise<void> { return Promise.resolve(); }
42374238
getCopilotHoverProvider(): CopilotHoverProvider | undefined { return undefined; }
4238-
getIncludes(maxDepth: number): Promise<GetIncludesResult> { return Promise.resolve({} as GetIncludesResult); }
4239+
getIncludes(uri: vscode.Uri, maxDepth: number): Promise<GetIncludesResult> { return Promise.resolve({} as GetIncludesResult); }
42394240
getChatContext(uri: vscode.Uri, token: vscode.CancellationToken): Promise<ChatContextResult> { return Promise.resolve({} as ChatContextResult); }
42404241
getProjectContext(uri: vscode.Uri): Promise<ProjectContextResult> { return Promise.resolve({} as ProjectContextResult); }
42414242
filesEncodingChanged(filesEncodingChanged: FilesEncodingChanged): void { }

Extension/src/LanguageServer/copilotProviders.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import * as util from '../common';
1010
import * as logger from '../logger';
1111
import * as telemetry from '../telemetry';
1212
import { GetIncludesResult } from './client';
13-
import { getActiveClient } from './extension';
13+
import { getClients } from './extension';
1414
import { getCompilerArgumentFilterMap, getProjectContext } from './lmTool';
1515

1616
nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })();
@@ -46,7 +46,7 @@ export async function registerRelatedFilesProvider(): Promise<void> {
4646
const telemetryProperties: Record<string, string> = {};
4747
const telemetryMetrics: Record<string, number> = {};
4848
try {
49-
const getIncludesHandler = async () => (await getIncludes(1))?.includedFiles.map(file => vscode.Uri.file(file)) ?? [];
49+
const getIncludesHandler = async () => (await getIncludes(uri, 1))?.includedFiles.map(file => vscode.Uri.file(file)) ?? [];
5050
const getTraitsHandler = async () => {
5151
const projectContext = await getProjectContext(uri, context);
5252

@@ -157,10 +157,10 @@ export async function registerRelatedFilesProvider(): Promise<void> {
157157
}
158158
}
159159

160-
async function getIncludes(maxDepth: number): Promise<GetIncludesResult> {
161-
const activeClient = getActiveClient();
162-
const includes = await activeClient.getIncludes(maxDepth);
163-
const wksFolder = activeClient.RootUri?.toString();
160+
async function getIncludes(uri: vscode.Uri, maxDepth: number): Promise<GetIncludesResult> {
161+
const client = getClients().getClientFor(uri);
162+
const includes = await client.getIncludes(uri, maxDepth);
163+
const wksFolder = client.RootUri?.toString();
164164

165165
if (!wksFolder) {
166166
return includes;

0 commit comments

Comments
 (0)