diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2024-04-05 16:18:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-05 16:18:48 +0100 |
commit | 61f1b8e8dc20846093a8b24a8f511a09bbf09919 (patch) | |
tree | 15556a7212f9603616f046533385e6e130680ec3 /tests/util/server/src/lsp.rs | |
parent | 049e703331409db8c4b4e2cc7d969f471c229df3 (diff) |
fix(lsp): respect DENO_FUTURE for BYONM config (#23207)
Diffstat (limited to 'tests/util/server/src/lsp.rs')
-rw-r--r-- | tests/util/server/src/lsp.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/util/server/src/lsp.rs b/tests/util/server/src/lsp.rs index cc6808390..be455b463 100644 --- a/tests/util/server/src/lsp.rs +++ b/tests/util/server/src/lsp.rs @@ -33,7 +33,10 @@ use serde::Serialize; use serde_json::json; use serde_json::to_value; use serde_json::Value; +use std::collections::HashMap; use std::collections::HashSet; +use std::ffi::OsStr; +use std::ffi::OsString; use std::io; use std::io::BufRead; use std::io::BufReader; @@ -465,6 +468,7 @@ pub struct LspClientBuilder { root_dir: PathRef, use_diagnostic_sync: bool, deno_dir: TempDir, + envs: HashMap<OsString, OsString>, } impl LspClientBuilder { @@ -481,6 +485,7 @@ impl LspClientBuilder { root_dir: deno_dir.path().clone(), use_diagnostic_sync: true, deno_dir, + envs: Default::default(), } } @@ -514,6 +519,17 @@ impl LspClientBuilder { self } + pub fn env( + mut self, + key: impl AsRef<OsStr>, + value: impl AsRef<OsStr>, + ) -> Self { + self + .envs + .insert(key.as_ref().to_owned(), value.as_ref().to_owned()); + self + } + pub fn build(&self) -> LspClient { self.build_result().unwrap() } @@ -534,6 +550,9 @@ impl LspClientBuilder { .arg("lsp") .stdin(Stdio::piped()) .stdout(Stdio::piped()); + for (key, value) in &self.envs { + command.env(key, value); + } if self.capture_stderr { command.stderr(Stdio::piped()); } else if !self.print_stderr { |