csharp: Don't cache user-installed OmniSharp (#10638)

This PR updates the C# 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:22:36 -04:00 committed by GitHub
parent 9c569c8d95
commit 58991f332b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -11,17 +11,16 @@ impl CsharpExtension {
config: zed::LanguageServerConfig,
worktree: &zed::Worktree,
) -> Result<String> {
if let Some(path) = worktree.which("OmniSharp") {
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("OmniSharp") {
self.cached_binary_path = Some(path.clone());
return Ok(path);
}
zed::set_language_server_installation_status(
&config.name,
&zed::LanguageServerInstallationStatus::CheckingForUpdate,