aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/source_change.ts
diff options
context:
space:
mode:
Diffstat (limited to 'editors/code/src/source_change.ts')
-rw-r--r--editors/code/src/source_change.ts12
1 files changed, 11 insertions, 1 deletions
diff --git a/editors/code/src/source_change.ts b/editors/code/src/source_change.ts
index a336269ba..b19d325d5 100644
--- a/editors/code/src/source_change.ts
+++ b/editors/code/src/source_change.ts
@@ -9,7 +9,7 @@ export interface SourceChange {
9 cursorPosition?: lc.TextDocumentPositionParams; 9 cursorPosition?: lc.TextDocumentPositionParams;
10} 10}
11 11
12export async function applySourceChange(ctx: Ctx, change: SourceChange) { 12async function applySelectedSourceChange(ctx: Ctx, change: SourceChange) {
13 const client = ctx.client; 13 const client = ctx.client;
14 if (!client) return; 14 if (!client) return;
15 15
@@ -55,3 +55,13 @@ export async function applySourceChange(ctx: Ctx, change: SourceChange) {
55 ); 55 );
56 } 56 }
57} 57}
58
59export async function applySourceChange(ctx: Ctx, change: SourceChange, alternativeChanges: SourceChange[] | undefined) {
60 if (alternativeChanges !== undefined && alternativeChanges.length > 0) {
61 const selectedChange = await vscode.window.showQuickPick([change, ...alternativeChanges]);
62 if (!selectedChange) return;
63 await applySelectedSourceChange(ctx, selectedChange);
64 } else {
65 await applySelectedSourceChange(ctx, change);
66 }
67}