gleam: Don't cache user-installed gleam (#10635)

This PR updates the Gleam extension to not cache the binary when it is
using the one on the $PATH.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2024-04-16 13:11:58 -04:00 committed by GitHub
parent 210f8ebfed
commit 53105ddd16
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -13,17 +13,16 @@ impl GleamExtension {
language_server_id: &LanguageServerId,
worktree: &zed::Worktree,
) -> Result<String> {
if let Some(path) = worktree.which("gleam") {
return Ok(path);
}
if let Some(path) = &self.cached_binary_path {
if fs::metadata(path).map_or(false, |stat| stat.is_file()) {
return Ok(path.clone());
}
}
if let Some(path) = worktree.which("gleam") {
self.cached_binary_path = Some(path.clone());
return Ok(path);
}
zed::set_language_server_installation_status(
&language_server_id,
&zed::LanguageServerInstallationStatus::CheckingForUpdate,