summaryrefslogtreecommitdiff
path: root/helix-lsp/src/client.rs
diff options
context:
space:
mode:
authorTotalKrill2022-12-09 04:09:23 +0000
committerGitHub2022-12-09 04:09:23 +0000
commit16e13b9789359282cb6c2681262f46fb1b70134b (patch)
tree9332f833c85fb66d0109ce95ef683655a44516c2 /helix-lsp/src/client.rs
parent2ea20a23e26a771e095972bdda673d491b4aacc5 (diff)
allow specifying environment for language servers in language.toml (#4004)
Signed-off-by: Stephen Wakely <fungus.humungus@gmail.com> Co-authored-by: Stephen Wakely <fungus.humungus@gmail.com> Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
Diffstat (limited to 'helix-lsp/src/client.rs')
-rw-r--r--helix-lsp/src/client.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/helix-lsp/src/client.rs b/helix-lsp/src/client.rs
index 90fd2f21..dd2581c6 100644
--- a/helix-lsp/src/client.rs
+++ b/helix-lsp/src/client.rs
@@ -42,10 +42,12 @@ pub struct Client {
impl Client {
#[allow(clippy::type_complexity)]
+ #[allow(clippy::too_many_arguments)]
pub fn start(
cmd: &str,
args: &[String],
config: Option<Value>,
+ server_environment: HashMap<String, String>,
root_markers: &[String],
id: usize,
req_timeout: u64,
@@ -55,6 +57,7 @@ impl Client {
let cmd = which::which(cmd).map_err(|err| anyhow::anyhow!(err))?;
let process = Command::new(cmd)
+ .envs(server_environment)
.args(args)
.stdin(Stdio::piped())
.stdout(Stdio::piped())