From cb60416cb59c87244a523bab464a265db7e58f04 Mon Sep 17 00:00:00 2001 From: Caio Date: Tue, 5 Mar 2019 18:19:36 -0300 Subject: Check installed extension --- crates/tools/src/main.rs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'crates/tools/src/main.rs') diff --git a/crates/tools/src/main.rs b/crates/tools/src/main.rs index 963ffbe98..4a1b2ff9a 100644 --- a/crates/tools/src/main.rs +++ b/crates/tools/src/main.rs @@ -1,7 +1,8 @@ use clap::{App, SubCommand}; - +use core::str; +use failure::bail; use tools::{ - generate, gen_tests, install_format_hook, run, run_rustfmt, + generate, gen_tests, install_format_hook, run, run_with_output, run_rustfmt, Overwrite, Result, run_fuzzer, }; @@ -44,5 +45,21 @@ fn install_code_extension() -> Result<()> { } else { run(r"code --install-extension ./ra-lsp-0.0.1.vsix --force", "./editors/code")?; } + verify_installed_extensions()?; + Ok(()) +} + +fn verify_installed_extensions() -> Result<()> { + let exts = if cfg!(windows) { + run_with_output(r"cmd.exe /c code.cmd --list-extensions", ".")? + } else { + run_with_output(r"code --list-extensions", ".")? + }; + if !str::from_utf8(&exts.stdout)?.contains("ra-lsp") { + bail!( + "Could not install the Visual Studio Code extension. Please make sure you \ + have at least NodeJS 10.x installed and try again." + ); + } Ok(()) } -- cgit v1.2.3