From 8205c52d2bc204b8234f9306562d9000b1691857 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Tue, 9 Apr 2024 09:13:36 -0400 Subject: [PATCH] Only apply host-side executable fix to binaries downloaded by the extension (#10318) This PR makes it so our temporary host-side workaround for setting certain language server binaries as executable only applies to binaries that are downloaded by the extension. Previously we would do this for any binary, including ones that could have been sourced from the $PATH. Release Notes: - Fixed a file permissions issue when trying to use a Zig language server (`zls`) present on the $PATH. --- crates/extension/src/extension_lsp_adapter.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/extension/src/extension_lsp_adapter.rs b/crates/extension/src/extension_lsp_adapter.rs index a89a77a15f..7c5a7b669b 100644 --- a/crates/extension/src/extension_lsp_adapter.rs +++ b/crates/extension/src/extension_lsp_adapter.rs @@ -79,7 +79,9 @@ impl LspAdapter for ExtensionLspAdapter { // We can remove once the following extension versions no longer see any use: // - toml@0.0.2 // - zig@0.0.1 - if ["toml", "zig"].contains(&self.extension.manifest.id.as_ref()) { + if ["toml", "zig"].contains(&self.extension.manifest.id.as_ref()) + && path.starts_with(&self.host.work_dir) + { #[cfg(not(windows))] { use std::fs::{self, Permissions};