Skip to content

Commit 419f9a8

Browse files
committed
Don't migrate empty formatter array (#40932)
Follow up for #40409 Fix for #40874 (comment) Release Notes: - Fixed an issue where having an empty formatter array in your settings `"formatter": []` would result in an erroneous prompt to migrate settings
1 parent 68bb196 commit 419f9a8

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

crates/migrator/src/migrations/m_2025_10_16/settings.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ fn restore_code_actions_on_format_inner(value: &mut Value, path: &[&str]) -> Res
3737
} else {
3838
vec![formatter.clone()]
3939
};
40+
if formatter_array.is_empty() {
41+
return Ok(());
42+
}
4043
let mut code_action_formatters = Vec::new();
4144
for formatter in formatter_array {
4245
let Some(code_action) = formatter.get("code_action") else {

crates/migrator/src/migrator.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2018,5 +2018,20 @@ mod tests {
20182018
.unindent(),
20192019
),
20202020
);
2021+
2022+
assert_migrate_settings_with_migrations(
2023+
&[MigrationType::Json(
2024+
migrations::m_2025_10_16::restore_code_actions_on_format,
2025+
)],
2026+
&r#"{
2027+
"formatter": [],
2028+
"code_actions_on_format": {
2029+
"bar": true,
2030+
"baz": false
2031+
}
2032+
}"#
2033+
.unindent(),
2034+
None,
2035+
);
20212036
}
20222037
}

0 commit comments

Comments
 (0)