From c4bf783b85b58feb05e83b726055c559a6cc987f Mon Sep 17 00:00:00 2001 From: Jane Lewis Date: Sat, 4 May 2024 10:52:01 -0700 Subject: [PATCH] `ruff server`: Editor settings are used by default if no file-based configuration exists (#11266) ## Summary Fixes https://github.com/astral-sh/ruff/issues/11258. This PR fixes the settings resolver to match the expected behavior when file-based configuration is not available. ## Test Plan In a workspace with no file-based configuration, set a setting in your editor and confirm that this setting is used instead of the default. --- .../ruff_server/src/session/workspace/ruff_settings.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/crates/ruff_server/src/session/workspace/ruff_settings.rs b/crates/ruff_server/src/session/workspace/ruff_settings.rs index 8bf458df4c..74a299f6e3 100644 --- a/crates/ruff_server/src/session/workspace/ruff_settings.rs +++ b/crates/ruff_server/src/session/workspace/ruff_settings.rs @@ -89,7 +89,15 @@ impl RuffSettingsIndex { ) .ok() }) - .unwrap_or_default(); + .unwrap_or_else(|| { + let default_configuration = ruff_workspace::configuration::Configuration::default(); + EditorConfigurationTransformer(editor_settings, root) + .transform(default_configuration) + .into_settings(root) + .expect( + "editor configuration should merge successfully with default configuration", + ) + }); Self { index,