Skip to content

Commit b9032f1

Browse files
fvclausclausfr
andauthored
Make code action commands wait for applyEdit
Signed-off-by: clausfr <claus.hays@partner.akdb.de> Co-authored-by: clausfr <claus.hays@partner.akdb.de>
1 parent 453716f commit b9032f1

2 files changed

Lines changed: 11 additions & 9 deletions

File tree

src/extension.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -718,10 +718,12 @@ async function addFormatter(extensionPath, formatterUrl, defaultFormatter, relat
718718
});
719719
}
720720

721-
export function applyWorkspaceEdit(obj, languageClient) {
721+
export function applyWorkspaceEdit(obj, languageClient): Thenable<boolean> {
722722
const edit = languageClient.protocol2CodeConverter.asWorkspaceEdit(obj);
723723
if (edit) {
724-
workspace.applyEdit(edit);
724+
return workspace.applyEdit(edit);
725+
} else {
726+
return Promise.resolve(true);
725727
}
726728
}
727729

src/sourceAction.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ function registerOverrideMethodsCommand(languageClient: LanguageClient, context:
6262
context: params,
6363
overridableMethods: selectedItems.map((item) => item.originalMethod),
6464
});
65-
applyWorkspaceEdit(workspaceEdit, languageClient);
65+
await applyWorkspaceEdit(workspaceEdit, languageClient);
6666
}));
6767
}
6868

@@ -105,14 +105,14 @@ function registerHashCodeEqualsCommand(languageClient: LanguageClient, context:
105105
fields: selectedFields.map((item) => item.originalField),
106106
regenerate
107107
});
108-
applyWorkspaceEdit(workspaceEdit, languageClient);
108+
await applyWorkspaceEdit(workspaceEdit, languageClient);
109109
}));
110110
}
111111

112112
function registerOrganizeImportsCommand(languageClient: LanguageClient, context: ExtensionContext): void {
113113
context.subscriptions.push(commands.registerCommand(Commands.ORGANIZE_IMPORTS, async (params: CodeActionParams) => {
114114
const workspaceEdit = await languageClient.sendRequest(OrganizeImportsRequest.type, params);
115-
applyWorkspaceEdit(workspaceEdit, languageClient);
115+
await applyWorkspaceEdit(workspaceEdit, languageClient);
116116
}));
117117
}
118118

@@ -203,7 +203,7 @@ function registerGenerateToStringCommand(languageClient: LanguageClient, context
203203
context: params,
204204
fields,
205205
});
206-
applyWorkspaceEdit(workspaceEdit, languageClient);
206+
await applyWorkspaceEdit(workspaceEdit, languageClient);
207207
}));
208208
}
209209

@@ -240,7 +240,7 @@ function registerGenerateAccessorsCommand(languageClient: LanguageClient, contex
240240
context: params,
241241
accessors: selectedAccessors.map((item) => item.originalField),
242242
});
243-
applyWorkspaceEdit(workspaceEdit, languageClient);
243+
await applyWorkspaceEdit(workspaceEdit, languageClient);
244244
}));
245245
}
246246

@@ -294,7 +294,7 @@ function registerGenerateConstructorsCommand(languageClient: LanguageClient, con
294294
constructors: selectedConstructors,
295295
fields: selectedFields,
296296
});
297-
applyWorkspaceEdit(workspaceEdit, languageClient);
297+
await applyWorkspaceEdit(workspaceEdit, languageClient);
298298
}));
299299
}
300300

@@ -355,6 +355,6 @@ function registerGenerateDelegateMethodsCommand(languageClient: LanguageClient,
355355
context: params,
356356
delegateEntries,
357357
});
358-
applyWorkspaceEdit(workspaceEdit, languageClient);
358+
await applyWorkspaceEdit(workspaceEdit, languageClient);
359359
}));
360360
}

0 commit comments

Comments
 (0)