aboutsummaryrefslogtreecommitdiff
path: root/crates/tools/src/main.rs
diff options
context:
space:
mode:
authorCaio <[email protected]>2019-03-05 21:19:36 +0000
committerCaio <[email protected]>2019-03-05 21:19:36 +0000
commitcb60416cb59c87244a523bab464a265db7e58f04 (patch)
tree1a69e838817fcbdcd31b79d879e7a3c9f54226d9 /crates/tools/src/main.rs
parentbbaf750b10810c21d42710a5d12181ca73099525 (diff)
Check installed extension
Diffstat (limited to 'crates/tools/src/main.rs')
-rw-r--r--crates/tools/src/main.rs21
1 files changed, 19 insertions, 2 deletions
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 @@
1use clap::{App, SubCommand}; 1use clap::{App, SubCommand};
2 2use core::str;
3use failure::bail;
3use tools::{ 4use tools::{
4 generate, gen_tests, install_format_hook, run, run_rustfmt, 5 generate, gen_tests, install_format_hook, run, run_with_output, run_rustfmt,
5 Overwrite, Result, run_fuzzer, 6 Overwrite, Result, run_fuzzer,
6}; 7};
7 8
@@ -44,5 +45,21 @@ fn install_code_extension() -> Result<()> {
44 } else { 45 } else {
45 run(r"code --install-extension ./ra-lsp-0.0.1.vsix --force", "./editors/code")?; 46 run(r"code --install-extension ./ra-lsp-0.0.1.vsix --force", "./editors/code")?;
46 } 47 }
48 verify_installed_extensions()?;
49 Ok(())
50}
51
52fn verify_installed_extensions() -> Result<()> {
53 let exts = if cfg!(windows) {
54 run_with_output(r"cmd.exe /c code.cmd --list-extensions", ".")?
55 } else {
56 run_with_output(r"code --list-extensions", ".")?
57 };
58 if !str::from_utf8(&exts.stdout)?.contains("ra-lsp") {
59 bail!(
60 "Could not install the Visual Studio Code extension. Please make sure you \
61 have at least NodeJS 10.x installed and try again."
62 );
63 }
47 Ok(()) 64 Ok(())
48} 65}