summaryrefslogtreecommitdiff
path: root/tests/util/server/src/lsp.rs
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2024-04-05 16:18:48 +0100
committerGitHub <noreply@github.com>2024-04-05 16:18:48 +0100
commit61f1b8e8dc20846093a8b24a8f511a09bbf09919 (patch)
tree15556a7212f9603616f046533385e6e130680ec3 /tests/util/server/src/lsp.rs
parent049e703331409db8c4b4e2cc7d969f471c229df3 (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.rs19
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 {