Skip to content

Commit 3a3bb8e

Browse files
author
Andy
authored
Immediately respond to applyCodeActionCommand requests (microsoft#20448)
1 parent 7bb5fc2 commit 3a3bb8e

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

src/server/session.ts

+8-9
Original file line numberDiff line numberDiff line change
@@ -1571,15 +1571,15 @@ namespace ts.server {
15711571
}
15721572
}
15731573

1574-
private applyCodeActionCommand(commandName: string, requestSeq: number, args: protocol.ApplyCodeActionCommandRequestArgs): void {
1574+
private applyCodeActionCommand(args: protocol.ApplyCodeActionCommandRequestArgs): {} {
15751575
const commands = args.command as CodeActionCommand | CodeActionCommand[]; // They should be sending back the command we sent them.
15761576
for (const command of toArray(commands)) {
15771577
const { project } = this.getFileAndProject(command);
1578-
const output = (success: boolean, message: string) => this.doOutput({}, commandName, requestSeq, success, message);
15791578
project.getLanguageService().applyCodeActionCommand(command).then(
1580-
result => { output(/*success*/ true, result.successMessage); },
1581-
error => { output(/*success*/ false, error); });
1579+
_result => { /* TODO: GH#20447 report success message? */ },
1580+
_error => { /* TODO: GH#20447 report errors */ });
15821581
}
1582+
return {};
15831583
}
15841584

15851585
private getStartAndEndPosition(args: protocol.FileRangeRequestArgs, scriptInfo: ScriptInfo) {
@@ -1705,17 +1705,17 @@ namespace ts.server {
17051705
private handlers = createMapFromTemplate<(request: protocol.Request) => HandlerResponse>({
17061706
[CommandNames.OpenExternalProject]: (request: protocol.OpenExternalProjectRequest) => {
17071707
this.projectService.openExternalProject(request.arguments, /*suppressRefreshOfInferredProjects*/ false);
1708-
// TODO: report errors
1708+
// TODO: GH#20447 report errors
17091709
return this.requiredResponse(/*response*/ true);
17101710
},
17111711
[CommandNames.OpenExternalProjects]: (request: protocol.OpenExternalProjectsRequest) => {
17121712
this.projectService.openExternalProjects(request.arguments.projects);
1713-
// TODO: report errors
1713+
// TODO: GH#20447 report errors
17141714
return this.requiredResponse(/*response*/ true);
17151715
},
17161716
[CommandNames.CloseExternalProject]: (request: protocol.CloseExternalProjectRequest) => {
17171717
this.projectService.closeExternalProject(request.arguments.projectFileName);
1718-
// TODO: report errors
1718+
// TODO: GH#20447 report errors
17191719
return this.requiredResponse(/*response*/ true);
17201720
},
17211721
[CommandNames.SynchronizeProjectList]: (request: protocol.SynchronizeProjectListRequest) => {
@@ -1957,8 +1957,7 @@ namespace ts.server {
19571957
return this.requiredResponse(this.getCodeFixes(request.arguments, /*simplifiedResult*/ false));
19581958
},
19591959
[CommandNames.ApplyCodeActionCommand]: (request: protocol.ApplyCodeActionCommandRequest) => {
1960-
this.applyCodeActionCommand(request.command, request.seq, request.arguments);
1961-
return this.notRequired(); // Response will come asynchronously.
1960+
return this.requiredResponse(this.applyCodeActionCommand(request.arguments));
19621961
},
19631962
[CommandNames.GetSupportedCodeFixes]: () => {
19641963
return this.requiredResponse(this.getSupportedCodeFixes());

tests/baselines/reference/api/tsserverlibrary.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7072,7 +7072,7 @@ declare namespace ts.server {
70727072
private getApplicableRefactors(args);
70737073
private getEditsForRefactor(args, simplifiedResult);
70747074
private getCodeFixes(args, simplifiedResult);
7075-
private applyCodeActionCommand(commandName, requestSeq, args);
7075+
private applyCodeActionCommand(args);
70767076
private getStartAndEndPosition(args, scriptInfo);
70777077
private mapCodeAction({description, changes: unmappedChanges, commands}, scriptInfo);
70787078
private mapTextChangesToCodeEdits(project, textChanges);

0 commit comments

Comments
 (0)