From 42f3f6ee247a4ca26faa7563f1fb43b3b1d3fa62 Mon Sep 17 00:00:00 2001 From: Roman Cinis <52065414+tsinis@users.noreply.github.com> Date: Wed, 25 Mar 2026 08:40:00 +0100 Subject: [PATCH 1/3] chore: update zed_dart and dependencies to version 0.4.0 - Bump zed_dart version to 0.4.0 in Cargo.toml - Update zed_extension_api to use git source and version 0.8.0 - Adjust version in extension.toml to 0.4.0 --- Cargo.lock | 7 +++---- Cargo.toml | 4 ++-- extension.toml | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bbd3b6f..c2055b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -752,16 +752,15 @@ dependencies = [ [[package]] name = "zed_dart" -version = "0.3.5" +version = "0.4.0" dependencies = [ "zed_extension_api", ] [[package]] name = "zed_extension_api" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0729d50b4ca0a7e28e590bbe32e3ca0194d97ef654961451a424c661a366fca0" +version = "0.8.0" +source = "git+https://github.com/zed-industries/zed?rev=103fa371562e86af63204df8cf7bf35559ada0d4#103fa371562e86af63204df8cf7bf35559ada0d4" dependencies = [ "serde", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 598784b..64e9108 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zed_dart" -version = "0.3.5" +version = "0.4.0" edition = "2021" publish = false license = "Apache-2.0" @@ -10,4 +10,4 @@ path = "src/dart.rs" crate-type = ["cdylib"] [dependencies] -zed_extension_api = "0.7.0" +zed_extension_api = { git = "https://github.com/zed-industries/zed", rev = "103fa371562e86af63204df8cf7bf35559ada0d4" } diff --git a/extension.toml b/extension.toml index 288d578..464109a 100644 --- a/extension.toml +++ b/extension.toml @@ -1,7 +1,7 @@ id = "dart" name = "Dart" description = "Dart support." -version = "0.3.5" +version = "0.4.0" schema_version = 1 authors = [ "Abdullah Alsigar ", From 85258ad36bb0756fcb1e578cc8581acdf24963f6 Mon Sep 17 00:00:00 2001 From: Roman Cinis <52065414+tsinis@users.noreply.github.com> Date: Wed, 25 Mar 2026 08:40:49 +0100 Subject: [PATCH 2/3] feat: add preferred line length to dart language settings Forward Zed's preferred_line_length to Dart LSP as dart.lineLength Read preferred_line_length from LanguageSettings and forward it as dart.lineLength via workspace/configuration, so the Dart formatter automatically respects the line length set in Zed settings. Explicit lsp.dart.settings overrides still take precedence. Closes #2 --- src/dart.rs | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/dart.rs b/src/dart.rs index 66e265c..264f09e 100644 --- a/src/dart.rs +++ b/src/dart.rs @@ -1,5 +1,5 @@ use zed::lsp::CompletionKind; -use zed::settings::LspSettings; +use zed::settings::{LanguageSettings, LspSettings}; use zed::{CodeLabel, CodeLabelSpan}; use zed_extension_api::serde_json::json; use zed_extension_api::{ @@ -207,14 +207,25 @@ impl zed::Extension for DartExtension { _language_server_id: &zed::LanguageServerId, worktree: &zed::Worktree, ) -> Result> { - let settings = LspSettings::for_worktree("dart", worktree) + let mut dart_settings = serde_json::Map::new(); + + if let Ok(language_settings) = LanguageSettings::for_worktree(Some("Dart"), worktree) { + dart_settings.insert( + "lineLength".into(), + language_settings.preferred_line_length.into(), + ); + } + + let user_settings = LspSettings::for_worktree("dart", worktree) .ok() .and_then(|lsp_settings| lsp_settings.settings.clone()) .unwrap_or_default(); - Ok(Some(serde_json::json!({ - "dart": settings - }))) + if let serde_json::Value::Object(user_map) = user_settings { + dart_settings.extend(user_map); + } + + Ok(Some(serde_json::json!({ "dart": dart_settings }))) } fn label_for_completion( From 6abc29524bdfa0aec7885d23e69ae6bca67ef14c Mon Sep 17 00:00:00 2001 From: Roman Cinis <52065414+tsinis@users.noreply.github.com> Date: Fri, 17 Apr 2026 12:06:23 +0200 Subject: [PATCH 3/3] chore(deps): downgrade zed_dart version to origin 0.3.6 --- Cargo.lock | 2 +- Cargo.toml | 2 +- extension.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c2055b1..5e3b7f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -752,7 +752,7 @@ dependencies = [ [[package]] name = "zed_dart" -version = "0.4.0" +version = "0.3.6" dependencies = [ "zed_extension_api", ] diff --git a/Cargo.toml b/Cargo.toml index 64e9108..aff5fd6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zed_dart" -version = "0.4.0" +version = "0.3.6" edition = "2021" publish = false license = "Apache-2.0" diff --git a/extension.toml b/extension.toml index 464109a..c3155d2 100644 --- a/extension.toml +++ b/extension.toml @@ -1,7 +1,7 @@ id = "dart" name = "Dart" description = "Dart support." -version = "0.4.0" +version = "0.3.6" schema_version = 1 authors = [ "Abdullah Alsigar ",