aboutsummaryrefslogtreecommitdiff
path: root/editors/code
diff options
context:
space:
mode:
Diffstat (limited to 'editors/code')
-rw-r--r--editors/code/src/commands/index.ts13
-rw-r--r--editors/code/src/main.ts1
2 files changed, 14 insertions, 0 deletions
diff --git a/editors/code/src/commands/index.ts b/editors/code/src/commands/index.ts
index 9a1697dcb..dc075aa82 100644
--- a/editors/code/src/commands/index.ts
+++ b/editors/code/src/commands/index.ts
@@ -39,6 +39,18 @@ function applySourceChange(ctx: Ctx): Cmd {
39 }; 39 };
40} 40}
41 41
42function selectAndApplySourceChange(ctx: Ctx): Cmd {
43 return async (changes: sourceChange.SourceChange[]) => {
44 if (changes.length === 1) {
45 await sourceChange.applySourceChange(ctx, changes[0]);
46 } else if (changes.length > 0) {
47 const selectedChange = await vscode.window.showQuickPick(changes);
48 if (!selectedChange) return;
49 await sourceChange.applySourceChange(ctx, selectedChange);
50 }
51 };
52}
53
42function reload(ctx: Ctx): Cmd { 54function reload(ctx: Ctx): Cmd {
43 return async () => { 55 return async () => {
44 vscode.window.showInformationMessage('Reloading rust-analyzer...'); 56 vscode.window.showInformationMessage('Reloading rust-analyzer...');
@@ -59,5 +71,6 @@ export {
59 runSingle, 71 runSingle,
60 showReferences, 72 showReferences,
61 applySourceChange, 73 applySourceChange,
74 selectAndApplySourceChange,
62 reload 75 reload
63}; 76};
diff --git a/editors/code/src/main.ts b/editors/code/src/main.ts
index 430ad31b4..0494ccf63 100644
--- a/editors/code/src/main.ts
+++ b/editors/code/src/main.ts
@@ -26,6 +26,7 @@ export async function activate(context: vscode.ExtensionContext) {
26 ctx.registerCommand('runSingle', commands.runSingle); 26 ctx.registerCommand('runSingle', commands.runSingle);
27 ctx.registerCommand('showReferences', commands.showReferences); 27 ctx.registerCommand('showReferences', commands.showReferences);
28 ctx.registerCommand('applySourceChange', commands.applySourceChange); 28 ctx.registerCommand('applySourceChange', commands.applySourceChange);
29 ctx.registerCommand('selectAndApplySourceChange', commands.selectAndApplySourceChange);
29 30
30 if (ctx.config.enableEnhancedTyping) { 31 if (ctx.config.enableEnhancedTyping) {
31 ctx.overrideCommand('type', commands.onEnter); 32 ctx.overrideCommand('type', commands.onEnter);