Don't override top-level settings with language defaults

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
Antonio Scandurra 2022-06-23 16:40:57 +02:00
parent f2f9cad375
commit 2cb8a3ccfb
6 changed files with 152 additions and 108 deletions

View file

@ -965,10 +965,9 @@ pub mod tests {
);
language.set_theme(&theme);
cx.update(|cx| {
cx.set_global(Settings {
tab_size: 2,
..Settings::test(cx)
})
let mut settings = Settings::test(cx);
settings.language_settings.tab_size = Some(2);
cx.set_global(settings);
});
let buffer = cx.add_model(|cx| Buffer::new(0, text, cx).with_language(language, cx));

View file

@ -6162,7 +6162,7 @@ mod tests {
use language::{FakeLspAdapter, LanguageConfig};
use lsp::FakeLanguageServer;
use project::FakeFs;
use settings::LanguageOverride;
use settings::LanguageSettings;
use std::{cell::RefCell, rc::Rc, time::Instant};
use text::Point;
use unindent::Unindent;
@ -7499,7 +7499,7 @@ mod tests {
let mut cx = EditorTestContext::new(cx).await;
cx.update(|cx| {
cx.update_global::<Settings, _, _>(|settings, _| {
settings.hard_tabs = true;
settings.language_settings.hard_tabs = Some(true);
});
});
@ -7580,16 +7580,16 @@ mod tests {
fn test_indent_outdent_with_excerpts(cx: &mut gpui::MutableAppContext) {
cx.set_global(
Settings::test(cx)
.with_overrides(
.with_language_defaults(
"TOML",
LanguageOverride {
LanguageSettings {
tab_size: Some(2),
..Default::default()
},
)
.with_overrides(
.with_language_defaults(
"Rust",
LanguageOverride {
LanguageSettings {
tab_size: Some(4),
..Default::default()
},
@ -9162,7 +9162,7 @@ mod tests {
cx.update_global::<Settings, _, _>(|settings, _| {
settings.language_overrides.insert(
"Rust".into(),
LanguageOverride {
LanguageSettings {
tab_size: Some(8),
..Default::default()
},
@ -9276,7 +9276,7 @@ mod tests {
cx.update_global::<Settings, _, _>(|settings, _| {
settings.language_overrides.insert(
"Rust".into(),
LanguageOverride {
LanguageSettings {
tab_size: Some(8),
..Default::default()
},