From dc8b09187f30ab2603ce65dd3f9921aab8a85fdb Mon Sep 17 00:00:00 2001 From: Jacob Wolf Date: Tue, 20 Oct 2026 12:35:05 -0500 Subject: [PATCH] Enable Ruby LSP on-type formatting by default --- src/language_servers/ruby_lsp.rs | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/src/language_servers/ruby_lsp.rs b/src/language_servers/ruby_lsp.rs index 6b733ab..168d51b 100644 --- a/src/language_servers/ruby_lsp.rs +++ b/src/language_servers/ruby_lsp.rs @@ -118,29 +118,12 @@ impl RubyLsp { language_server_id: &zed::LanguageServerId, worktree: &zed::Worktree, ) -> zed::Result> { - let mut initialization_options = + Ok(Some( zed::settings::LspSettings::for_worktree(language_server_id.as_ref(), worktree) .ok() .and_then(|lsp_settings| lsp_settings.initialization_options.clone()) - .unwrap_or_else(|| zed::serde_json::json!({})); - - let options_obj = initialization_options - .as_object_mut() - .expect("initialization_options must be an object"); - - let enabled_features = options_obj - .entry("enabledFeatures") - .or_insert_with(|| zed::serde_json::json!({})); - - // Workaround ruby-lsp upstream issue - // https://github.com/zed-extensions/ruby/issues/38 - if let Some(features_obj) = enabled_features.as_object_mut() { - features_obj - .entry("onTypeFormatting") - .or_insert(zed::serde_json::Value::Bool(false)); - } - - Ok(Some(initialization_options)) + .unwrap_or_else(|| zed::serde_json::json!({})), + )) } }