From 252ffbf77a7838313d5ef5c2da329a15d7f78f34 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Thu, 12 May 2022 17:55:25 +0200 Subject: [PATCH] fix: Fix old config patching overwriting callable snippet config unconditionally --- crates/rust-analyzer/src/config.rs | 1 + crates/rust-analyzer/src/config/patch_old_style.rs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs index f2fade9d48..58b73eb72f 100644 --- a/crates/rust-analyzer/src/config.rs +++ b/crates/rust-analyzer/src/config.rs @@ -595,6 +595,7 @@ impl Config { .collect(); patch_old_style::patch_json_for_outdated_configs(&mut json); self.data = ConfigData::from_json(json, &mut errors); + tracing::debug!("deserialized config data: {:#?}", self.data); self.snippets.clear(); for (name, def) in self.data.completion_snippets_custom.iter() { if def.prefix.is_empty() && def.postfix.is_empty() { diff --git a/crates/rust-analyzer/src/config/patch_old_style.rs b/crates/rust-analyzer/src/config/patch_old_style.rs index 04b14f73db..05c2bb537f 100644 --- a/crates/rust-analyzer/src/config/patch_old_style.rs +++ b/crates/rust-analyzer/src/config/patch_old_style.rs @@ -117,7 +117,8 @@ pub(super) fn patch_json_for_outdated_configs(json: &mut Value) { ) { (Some(Value::Bool(true)), Some(Value::Bool(true))) => json!("fill_arguments"), (Some(Value::Bool(true)), _) => json!("add_parentheses"), - (_, _) => json!(null), + (Some(Value::Bool(false)), Some(Value::Bool(false))) => json!("add_parentheses"), + (_, _) => return, }; merge(json, json!({ "completion": { "callable": {"snippets": res }} })); }