Skip to content

Commit 3140dbb

Browse files
πŸ€– Pick PR #60488 (Stub out copilotRelated command) into release-5.7 (#60495)
Co-authored-by: Nathan Shively-Sanders <[email protected]>
1 parent c1216de commit 3140dbb

17 files changed

+5
-290
lines changed

β€Žsrc/harness/client.ts

-1
Original file line numberDiff line numberDiff line change
@@ -800,7 +800,6 @@ export class SessionClient implements LanguageService {
800800
}
801801

802802
mapCode: typeof notImplemented = notImplemented;
803-
getImports: typeof notImplemented = notImplemented;
804803

805804
private createFileLocationOrRangeRequestArgs(positionOrRange: number | TextRange, fileName: string): protocol.FileLocationOrRangeRequestArgs {
806805
return typeof positionOrRange === "number"

β€Žsrc/harness/fourslashImpl.ts

-22
Original file line numberDiff line numberDiff line change
@@ -4639,28 +4639,6 @@ ${changes.join("\n// ---\n")}
46394639
${after}`;
46404640
this.baseline("mapCode", baseline, ".mapCode.ts");
46414641
}
4642-
4643-
public verifyGetImports(fileName: string, expectedImports: string[]): void {
4644-
const actualImports = this.languageService.getImports(fileName);
4645-
if (actualImports.length !== expectedImports.length) {
4646-
throw new Error(`Expected ${expectedImports.length} imports for ${fileName}, got ${actualImports.length}
4647-
Expected:
4648-
${expectedImports}
4649-
Actual:
4650-
${actualImports}
4651-
`);
4652-
}
4653-
for (let i = 0; i < expectedImports.length; i++) {
4654-
if (actualImports[i] !== expectedImports[i]) {
4655-
throw new Error(`Expected at ${fileName} index ${i}: ${expectedImports[i]}, got ${actualImports[i]}
4656-
Expected:
4657-
${expectedImports}
4658-
Actual:
4659-
${actualImports}
4660-
`);
4661-
}
4662-
}
4663-
}
46644642
}
46654643

46664644
function updateTextRangeForTextChanges({ pos, end }: ts.TextRange, textChanges: readonly ts.TextChange[]): ts.TextRange {

β€Žsrc/harness/fourslashInterfaceImpl.ts

-9
Original file line numberDiff line numberDiff line change
@@ -257,10 +257,6 @@ export class VerifyNegatable {
257257
public baselineMapCode(ranges: FourSlash.Range[][], changes: string[] = []): void {
258258
this.state.baselineMapCode(ranges, changes);
259259
}
260-
261-
public getImports(fileName: string, imports: string[]): void {
262-
return this.state.verifyGetImports(fileName, imports);
263-
}
264260
}
265261

266262
export interface CompletionsResult {
@@ -2051,8 +2047,3 @@ export interface RenameOptions {
20512047
readonly providePrefixAndSuffixTextForRename?: boolean;
20522048
readonly quotePreference?: "auto" | "double" | "single";
20532049
}
2054-
2055-
export interface VerifyGetImportsOptions {
2056-
fileName: string;
2057-
imports: string[];
2058-
}

β€Žsrc/server/protocol.ts

+1-12
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ export const enum CommandTypes {
202202
ProvideInlayHints = "provideInlayHints",
203203
WatchChange = "watchChange",
204204
MapCode = "mapCode",
205+
/** @internal */
205206
CopilotRelated = "copilotRelated",
206207
}
207208

@@ -2407,18 +2408,6 @@ export interface MapCodeResponse extends Response {
24072408
body: readonly FileCodeEdits[];
24082409
}
24092410

2410-
export interface CopilotRelatedRequest extends FileRequest {
2411-
command: CommandTypes.CopilotRelated;
2412-
arguments: FileRequestArgs;
2413-
}
2414-
2415-
export interface CopilotRelatedItems {
2416-
relatedFiles: readonly string[];
2417-
}
2418-
2419-
export interface CopilotRelatedResponse extends Response {
2420-
body: CopilotRelatedItems;
2421-
}
24222411
/**
24232412
* Synchronous request for semantic diagnostics of one file.
24242413
*/

β€Žsrc/server/session.ts

+4-6
Original file line numberDiff line numberDiff line change
@@ -2052,11 +2052,9 @@ export class Session<TMessage = string> implements EventSender {
20522052
return this.mapTextChangesToCodeEdits(changes);
20532053
}
20542054

2055-
private getCopilotRelatedInfo(args: protocol.FileRequestArgs): protocol.CopilotRelatedItems {
2056-
const { file, project } = this.getFileAndProject(args);
2057-
2055+
private getCopilotRelatedInfo(): { relatedFiles: never[]; } {
20582056
return {
2059-
relatedFiles: project.getLanguageService().getImports(file),
2057+
relatedFiles: [],
20602058
};
20612059
}
20622060

@@ -3801,8 +3799,8 @@ export class Session<TMessage = string> implements EventSender {
38013799
[protocol.CommandTypes.MapCode]: (request: protocol.MapCodeRequest) => {
38023800
return this.requiredResponse(this.mapCode(request.arguments));
38033801
},
3804-
[protocol.CommandTypes.CopilotRelated]: (request: protocol.CopilotRelatedRequest) => {
3805-
return this.requiredResponse(this.getCopilotRelatedInfo(request.arguments));
3802+
[protocol.CommandTypes.CopilotRelated]: () => {
3803+
return this.requiredResponse(this.getCopilotRelatedInfo());
38063804
},
38073805
}));
38083806

β€Žsrc/services/services.ts

-16
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import {
22
__String,
33
ApplicableRefactorInfo,
44
ApplyCodeActionCommandResult,
5-
arrayFrom,
65
AssignmentDeclarationKind,
76
BaseType,
87
BinaryExpression,
@@ -234,7 +233,6 @@ import {
234233
Node,
235234
NodeArray,
236235
NodeFlags,
237-
nodeIsSynthesized,
238236
noop,
239237
normalizePath,
240238
normalizeSpans,
@@ -1604,7 +1602,6 @@ const invalidOperationsInPartialSemanticMode: readonly (keyof LanguageService)[]
16041602
"provideInlayHints",
16051603
"getSupportedCodeFixes",
16061604
"getPasteEdits",
1607-
"getImports",
16081605
];
16091606

16101607
const invalidOperationsInSyntacticMode: readonly (keyof LanguageService)[] = [
@@ -3367,18 +3364,6 @@ export function createLanguageService(
33673364
);
33683365
}
33693366

3370-
function getImports(fileName: string): readonly string[] {
3371-
synchronizeHostData();
3372-
const file = getValidSourceFile(fileName);
3373-
let imports: Set<string> | undefined;
3374-
for (const specifier of file.imports) {
3375-
if (nodeIsSynthesized(specifier)) continue;
3376-
const name = program.getResolvedModuleFromModuleSpecifier(specifier, file)?.resolvedModule?.resolvedFileName;
3377-
if (name) (imports ??= new Set()).add(name);
3378-
}
3379-
return imports ? arrayFrom(imports) : emptyArray;
3380-
}
3381-
33823367
const ls: LanguageService = {
33833368
dispose,
33843369
cleanupSemanticCache,
@@ -3453,7 +3438,6 @@ export function createLanguageService(
34533438
preparePasteEditsForFile,
34543439
getPasteEdits,
34553440
mapCode,
3456-
getImports,
34573441
};
34583442

34593443
switch (languageServiceMode) {

β€Žsrc/services/types.ts

-1
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,6 @@ export interface LanguageService {
697697
getSupportedCodeFixes(fileName?: string): readonly string[];
698698

699699
/** @internal */ mapCode(fileName: string, contents: string[], focusLocations: TextSpan[][] | undefined, formatOptions: FormatCodeSettings, preferences: UserPreferences): readonly FileTextChanges[];
700-
/** @internal */ getImports(fileName: string): readonly string[];
701700

702701
dispose(): void;
703702
preparePasteEditsForFile(fileName: string, copiedTextRanges: TextRange[]): boolean;

β€Žtests/baselines/reference/api/typescript.d.ts

-11
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,6 @@ declare namespace ts {
123123
ProvideInlayHints = "provideInlayHints",
124124
WatchChange = "watchChange",
125125
MapCode = "mapCode",
126-
CopilotRelated = "copilotRelated",
127126
}
128127
/**
129128
* A TypeScript Server message
@@ -1831,16 +1830,6 @@ declare namespace ts {
18311830
export interface MapCodeResponse extends Response {
18321831
body: readonly FileCodeEdits[];
18331832
}
1834-
export interface CopilotRelatedRequest extends FileRequest {
1835-
command: CommandTypes.CopilotRelated;
1836-
arguments: FileRequestArgs;
1837-
}
1838-
export interface CopilotRelatedItems {
1839-
relatedFiles: readonly string[];
1840-
}
1841-
export interface CopilotRelatedResponse extends Response {
1842-
body: CopilotRelatedItems;
1843-
}
18441833
/**
18451834
* Synchronous request for semantic diagnostics of one file.
18461835
*/

β€Žtests/cases/fourslash/fourslash.ts

-1
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,6 @@ declare namespace FourSlashInterface {
472472
}
473473
}): void;
474474
baselineMapCode(ranges: Range[][], changes: string[]): void;
475-
getImports(fileName: string, imports: string[]): void;
476475
}
477476
class edit {
478477
caretPosition(): Marker;

β€Žtests/cases/fourslash/getImportsDuplicate.ts

-16
This file was deleted.

β€Žtests/cases/fourslash/getImportsDynamic.ts

-12
This file was deleted.

β€Žtests/cases/fourslash/getImportsJSXFactory.ts

-108
This file was deleted.

β€Žtests/cases/fourslash/getImportsNone.ts

-12
This file was deleted.

β€Žtests/cases/fourslash/getImportsOne.ts

-14
This file was deleted.

β€Žtests/cases/fourslash/getImportsOneJs.ts

-15
This file was deleted.

β€Žtests/cases/fourslash/getImportsReexport.ts

-15
This file was deleted.

0 commit comments

Comments
Β (0)