summaryrefslogtreecommitdiff
path: root/src/project.rs
diff options
context:
space:
mode:
authorDavid Barroso <dbarrosop@dravetech.com>2022-12-10 14:05:44 +0100
committerDavid Barroso <dbarrosop@dravetech.com>2022-12-10 14:05:44 +0100
commitb2df015fe6c76203d55ee1c916b4f3a27b327d67 (patch)
tree3895b3794dbd0be9054f9e995c764dc545498c84 /src/project.rs
parent1ce671528e40eab7f5d09f6579537a297858d284 (diff)
when generating lsp config use RUST_SRC_PATH if set
Diffstat (limited to 'src/project.rs')
-rw-r--r--src/project.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/project.rs b/src/project.rs
index 0df00b9..a6e3acf 100644
--- a/src/project.rs
+++ b/src/project.rs
@@ -1,5 +1,6 @@
use glob::glob;
use serde::{Deserialize, Serialize};
+use std::env;
use std::error::Error;
use std::process::Command;
@@ -64,6 +65,12 @@ impl RustAnalyzerProject {
/// Use `rustc` to determine the default toolchain
pub fn get_sysroot_src(&mut self) -> Result<(), Box<dyn Error>> {
+ // check if RUST_SRC_PATH is set
+ if let Ok(path) = env::var("RUST_SRC_PATH") {
+ self.sysroot_src = path;
+ return Ok(());
+ }
+
let toolchain = Command::new("rustc")
.arg("--print")
.arg("sysroot")