settings: Remove auxiliary Content types where possible (#16744)
Release Notes: - N/A
This commit is contained in:
parent
8f28445612
commit
ccf6f27b8f
49 changed files with 843 additions and 696 deletions
|
@ -132,7 +132,7 @@ mod test {
|
|||
let mut custom_digraphs = HashMap::default();
|
||||
custom_digraphs.insert("|-".into(), "⊢".into());
|
||||
custom_digraphs.insert(":)".into(), "👨💻".into());
|
||||
s.custom_digraphs = Some(custom_digraphs);
|
||||
s.custom_digraphs = custom_digraphs;
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -1184,7 +1184,7 @@ mod test {
|
|||
let mut cx = VimTestContext::new(cx, true).await;
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<VimSettings>(cx, |s| {
|
||||
s.use_multiline_find = Some(true);
|
||||
s.use_multiline_find = true;
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -1226,7 +1226,7 @@ mod test {
|
|||
let mut cx = VimTestContext::new(cx, true).await;
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<VimSettings>(cx, |s| {
|
||||
s.use_multiline_find = Some(true);
|
||||
s.use_multiline_find = true;
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -1268,7 +1268,7 @@ mod test {
|
|||
let mut cx = VimTestContext::new(cx, true).await;
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<VimSettings>(cx, |s| {
|
||||
s.use_smartcase_find = Some(true);
|
||||
s.use_smartcase_find = true;
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -291,7 +291,7 @@ mod test {
|
|||
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<VimSettings>(cx, |s| {
|
||||
s.use_system_clipboard = Some(UseSystemClipboard::Never)
|
||||
s.use_system_clipboard = UseSystemClipboard::Never
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -327,7 +327,7 @@ mod test {
|
|||
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<VimSettings>(cx, |s| {
|
||||
s.use_system_clipboard = Some(UseSystemClipboard::OnYank)
|
||||
s.use_system_clipboard = UseSystemClipboard::OnYank
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -584,7 +584,7 @@ mod test {
|
|||
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<VimSettings>(cx, |s| {
|
||||
s.use_system_clipboard = Some(UseSystemClipboard::Never)
|
||||
s.use_system_clipboard = UseSystemClipboard::Never
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -630,7 +630,7 @@ mod test {
|
|||
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<VimSettings>(cx, |s| {
|
||||
s.use_system_clipboard = Some(UseSystemClipboard::Never)
|
||||
s.use_system_clipboard = UseSystemClipboard::Never
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -659,7 +659,7 @@ mod test {
|
|||
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<VimSettings>(cx, |s| {
|
||||
s.use_system_clipboard = Some(UseSystemClipboard::Never)
|
||||
s.use_system_clipboard = UseSystemClipboard::Never
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -707,7 +707,7 @@ mod test {
|
|||
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<VimSettings>(cx, |s| {
|
||||
s.use_system_clipboard = Some(UseSystemClipboard::Never)
|
||||
s.use_system_clipboard = UseSystemClipboard::Never
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -294,7 +294,7 @@ mod test {
|
|||
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<EditorSettings>(cx, |s| {
|
||||
s.scroll_beyond_last_line = Some(ScrollBeyondLastLine::Off)
|
||||
s.scroll_beyond_last_line = ScrollBeyondLastLine::Off
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -542,7 +542,7 @@ mod test {
|
|||
let mut cx = VimTestContext::new(cx, true).await;
|
||||
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<EditorSettings>(cx, |s| s.search_wrap = Some(false));
|
||||
store.update_user_settings::<EditorSettings>(cx, |s| s.search_wrap = false);
|
||||
});
|
||||
|
||||
cx.set_state("ˇhi\nhigh\nhi\n", Mode::Normal);
|
||||
|
@ -655,7 +655,7 @@ mod test {
|
|||
|
||||
// check that searching with unable search wrap
|
||||
cx.update_global(|store: &mut SettingsStore, cx| {
|
||||
store.update_user_settings::<EditorSettings>(cx, |s| s.search_wrap = Some(false));
|
||||
store.update_user_settings::<EditorSettings>(cx, |s| s.search_wrap = false);
|
||||
});
|
||||
cx.set_state("aa\nbˇb\ncc\ncc\ncc\n", Mode::Normal);
|
||||
cx.simulate_keystrokes("/ c c enter");
|
||||
|
|
|
@ -1300,7 +1300,7 @@ async fn test_command_alias(cx: &mut gpui::TestAppContext) {
|
|||
store.update_user_settings::<WorkspaceSettings>(cx, |s| {
|
||||
let mut aliases = HashMap::default();
|
||||
aliases.insert("Q".to_string(), "upper".to_string());
|
||||
s.command_aliases = Some(aliases)
|
||||
s.command_aliases = aliases
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ impl VimTestContext {
|
|||
pub fn new_with_lsp(mut cx: EditorLspTestContext, enabled: bool) -> VimTestContext {
|
||||
cx.update(|cx| {
|
||||
SettingsStore::update_global(cx, |store, cx| {
|
||||
store.update_user_settings::<VimModeSetting>(cx, |s| *s = Some(enabled));
|
||||
store.update_user_settings::<VimModeSetting>(cx, |s| *s = VimModeSetting(enabled));
|
||||
});
|
||||
settings::KeymapFile::load_asset("keymaps/default-macos.json", cx).unwrap();
|
||||
if enabled {
|
||||
|
@ -105,7 +105,7 @@ impl VimTestContext {
|
|||
pub fn enable_vim(&mut self) {
|
||||
self.cx.update(|cx| {
|
||||
SettingsStore::update_global(cx, |store, cx| {
|
||||
store.update_user_settings::<VimModeSetting>(cx, |s| *s = Some(true));
|
||||
store.update_user_settings::<VimModeSetting>(cx, |s| *s = VimModeSetting(true));
|
||||
});
|
||||
})
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ impl VimTestContext {
|
|||
pub fn disable_vim(&mut self) {
|
||||
self.cx.update(|cx| {
|
||||
SettingsStore::update_global(cx, |store, cx| {
|
||||
store.update_user_settings::<VimModeSetting>(cx, |s| *s = Some(false));
|
||||
store.update_user_settings::<VimModeSetting>(cx, |s| *s = VimModeSetting(false));
|
||||
});
|
||||
})
|
||||
}
|
||||
|
|
|
@ -46,6 +46,8 @@ use crate::state::ReplayableAction;
|
|||
/// Whether or not to enable Vim mode.
|
||||
///
|
||||
/// Default: false
|
||||
#[derive(Copy, Clone, Default, Deserialize, Serialize, JsonSchema)]
|
||||
#[serde(default, transparent)]
|
||||
pub struct VimModeSetting(pub bool);
|
||||
|
||||
/// An Action to Switch between modes
|
||||
|
@ -99,7 +101,7 @@ pub fn init(cx: &mut AppContext) {
|
|||
let fs = workspace.app_state().fs.clone();
|
||||
let currently_enabled = Vim::enabled(cx);
|
||||
update_settings_file::<VimModeSetting>(fs, cx, move |setting, _| {
|
||||
*setting = Some(!currently_enabled)
|
||||
*setting = VimModeSetting(!currently_enabled);
|
||||
})
|
||||
});
|
||||
|
||||
|
@ -1068,12 +1070,10 @@ impl Vim {
|
|||
impl Settings for VimModeSetting {
|
||||
const KEY: Option<&'static str> = Some("vim_mode");
|
||||
|
||||
type FileContent = Option<bool>;
|
||||
type FileContent = Self;
|
||||
|
||||
fn load(sources: SettingsSources<Self::FileContent>, _: &mut AppContext) -> Result<Self> {
|
||||
Ok(Self(sources.user.copied().flatten().unwrap_or(
|
||||
sources.default.ok_or_else(Self::missing_default)?,
|
||||
)))
|
||||
Ok(sources.user.copied().unwrap_or(*sources.default))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1089,7 +1089,8 @@ pub enum UseSystemClipboard {
|
|||
OnYank,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[derive(Clone, Serialize, Deserialize, JsonSchema)]
|
||||
#[serde(default)]
|
||||
struct VimSettings {
|
||||
pub toggle_relative_line_numbers: bool,
|
||||
pub use_system_clipboard: UseSystemClipboard,
|
||||
|
@ -1098,19 +1099,22 @@ struct VimSettings {
|
|||
pub custom_digraphs: HashMap<String, Arc<str>>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Default, Serialize, Deserialize, JsonSchema)]
|
||||
struct VimSettingsContent {
|
||||
pub toggle_relative_line_numbers: Option<bool>,
|
||||
pub use_system_clipboard: Option<UseSystemClipboard>,
|
||||
pub use_multiline_find: Option<bool>,
|
||||
pub use_smartcase_find: Option<bool>,
|
||||
pub custom_digraphs: Option<HashMap<String, Arc<str>>>,
|
||||
impl Default for VimSettings {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
toggle_relative_line_numbers: false,
|
||||
use_system_clipboard: UseSystemClipboard::Always,
|
||||
use_multiline_find: false,
|
||||
use_smartcase_find: false,
|
||||
custom_digraphs: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Settings for VimSettings {
|
||||
const KEY: Option<&'static str> = Some("vim");
|
||||
|
||||
type FileContent = VimSettingsContent;
|
||||
type FileContent = Self;
|
||||
|
||||
fn load(sources: SettingsSources<Self::FileContent>, _: &mut AppContext) -> Result<Self> {
|
||||
sources.json_merge()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue