@@ -12682,9 +12682,9 @@ dependencies = [
[[package]]
name = "zed_toml"
-version = "0.0.2"
+version = "0.1.0"
dependencies = [
- "zed_extension_api 0.0.5",
+ "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -1,6 +1,6 @@
[package]
name = "zed_toml"
-version = "0.0.2"
+version = "0.1.0"
edition = "2021"
publish = false
license = "Apache-2.0"
@@ -13,4 +13,4 @@ path = "src/toml.rs"
crate-type = ["cdylib"]
[dependencies]
-zed_extension_api = "0.0.5"
+zed_extension_api = "0.0.6"
@@ -1,4 +1,5 @@
use std::fs;
+use zed::LanguageServerId;
use zed_extension_api::{self as zed, Result};
struct TomlExtension {
@@ -6,7 +7,10 @@ struct TomlExtension {
}
impl TomlExtension {
- fn language_server_binary_path(&mut self, config: zed::LanguageServerConfig) -> Result<String> {
+ fn language_server_binary_path(
+ &mut self,
+ language_server_id: &LanguageServerId,
+ ) -> Result<String> {
if let Some(path) = &self.cached_binary_path {
if fs::metadata(path).map_or(false, |stat| stat.is_file()) {
return Ok(path.clone());
@@ -14,7 +18,7 @@ impl TomlExtension {
}
zed::set_language_server_installation_status(
- &config.name,
+ &language_server_id,
&zed::LanguageServerInstallationStatus::CheckingForUpdate,
);
let release = zed::latest_github_release(
@@ -58,7 +62,7 @@ impl TomlExtension {
if !fs::metadata(&binary_path).map_or(false, |stat| stat.is_file()) {
zed::set_language_server_installation_status(
- &config.name,
+ &language_server_id,
&zed::LanguageServerInstallationStatus::Downloading,
);
@@ -98,11 +102,11 @@ impl zed::Extension for TomlExtension {
fn language_server_command(
&mut self,
- config: zed::LanguageServerConfig,
+ language_server_id: &LanguageServerId,
_worktree: &zed::Worktree,
) -> Result<zed::Command> {
Ok(zed::Command {
- command: self.language_server_binary_path(config)?,
+ command: self.language_server_binary_path(language_server_id)?,
args: vec!["lsp".to_string(), "stdio".to_string()],
env: Default::default(),
})