Ruff: pass initialization_options from settings (#14866)

Piotr Osiewicz created

No version bump, as the extension is not out yet.
Release Notes:

- N/A

Change summary

extensions/ruff/src/ruff.rs | 12 ++++++++++++
1 file changed, 12 insertions(+)

Detailed changes

extensions/ruff/src/ruff.rs 🔗

@@ -106,6 +106,18 @@ impl zed::Extension for RuffExtension {
         })
     }
 
+    fn language_server_initialization_options(
+        &mut self,
+        server_id: &LanguageServerId,
+        worktree: &zed_extension_api::Worktree,
+    ) -> Result<Option<zed_extension_api::serde_json::Value>> {
+        let settings = LspSettings::for_worktree(server_id.as_ref(), worktree)
+            .ok()
+            .and_then(|lsp_settings| lsp_settings.initialization_options.clone())
+            .unwrap_or_default();
+        Ok(Some(settings))
+    }
+
     fn language_server_workspace_configuration(
         &mut self,
         server_id: &LanguageServerId,