From 1ae6571762cab605a84a731e10c89d8f3f00eef8 Mon Sep 17 00:00:00 2001 From: Bernardo Date: Sat, 13 Apr 2019 22:13:21 +0200 Subject: cargo watch start and stop commands --- editors/code/src/extension.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'editors/code/src/extension.ts') diff --git a/editors/code/src/extension.ts b/editors/code/src/extension.ts index 1073a36a0..b48ad9b29 100644 --- a/editors/code/src/extension.ts +++ b/editors/code/src/extension.ts @@ -2,6 +2,7 @@ import * as vscode from 'vscode'; import * as lc from 'vscode-languageclient'; import * as commands from './commands'; +import { CargoWatchProvider } from './commands/cargo_watch'; import { interactivelyStartCargoWatch } from './commands/runnables'; import { SyntaxTreeContentProvider } from './commands/syntaxTree'; import * as events from './events'; @@ -126,7 +127,20 @@ export function activate(context: vscode.ExtensionContext) { vscode.commands.registerCommand('rust-analyzer.reload', reloadCommand); // Executing `cargo watch` provides us with inline diagnostics on save - interactivelyStartCargoWatch(context); + let provider: CargoWatchProvider | undefined; + interactivelyStartCargoWatch(context).then(p => { + provider = p; + }); + registerCommand('rust-analyzer.startCargoWatch', () => { + if (provider) { + provider.start(); + } + }); + registerCommand('rust-analyzer.stopCargoWatch', () => { + if (provider) { + provider.stop(); + } + }); // Start the language server, finally! startServer(); -- cgit v1.2.3