Detailed changes
@@ -38,7 +38,7 @@ use std::{
u32,
};
-use outline_panel_settings::{LeftRightDockPosition, OutlinePanelSettings, ShowIndentGuides};
+use outline_panel_settings::{DockSide, OutlinePanelSettings, ShowIndentGuides};
use project::{File, Fs, GitEntry, GitTraversal, Project, ProjectItem};
use search::{BufferSearchBar, ProjectSearchView};
use serde::{Deserialize, Serialize};
@@ -4836,8 +4836,8 @@ impl Panel for OutlinePanel {
fn position(&self, _: &Window, cx: &App) -> DockPosition {
match OutlinePanelSettings::get_global(cx).dock {
- LeftRightDockPosition::Left => DockPosition::Left,
- LeftRightDockPosition::Right => DockPosition::Right,
+ DockSide::Left => DockPosition::Left,
+ DockSide::Right => DockPosition::Right,
}
}
@@ -4848,8 +4848,8 @@ impl Panel for OutlinePanel {
fn set_position(&mut self, position: DockPosition, _: &mut Window, cx: &mut Context<Self>) {
settings::update_settings_file(self.fs.clone(), cx, move |settings, _| {
let dock = match position {
- DockPosition::Left | DockPosition::Bottom => LeftRightDockPosition::Left,
- DockPosition::Right => LeftRightDockPosition::Right,
+ DockPosition::Left | DockPosition::Bottom => DockSide::Left,
+ DockPosition::Right => DockSide::Right,
};
settings.outline_panel.get_or_insert_default().dock = Some(dock);
});
@@ -8,7 +8,7 @@ use util::MergeFrom;
pub struct OutlinePanelSettings {
pub button: bool,
pub default_width: Pixels,
- pub dock: LeftRightDockPosition,
+ pub dock: DockSide,
pub file_icons: bool,
pub folder_icons: bool,
pub git_status: bool,
@@ -33,12 +33,6 @@ pub struct IndentGuidesSettings {
pub show: ShowIndentGuides,
}
-#[derive(Copy, Clone, Debug, PartialEq, Eq)]
-pub struct IndentGuidesSettingsContent {
- /// When to show the scrollbar in the outline panel.
- pub show: Option<ShowIndentGuides>,
-}
-
impl ScrollbarVisibility for OutlinePanelSettings {
fn visibility(&self, cx: &App) -> ShowScrollbar {
self.scrollbar
@@ -70,7 +64,7 @@ impl Settings for OutlinePanelSettings {
}
}
- fn refine(&mut self, content: &settings::SettingsContent, cx: &mut App) {
+ fn refine(&mut self, content: &settings::SettingsContent, _cx: &mut App) {
let Some(panel) = content.outline_panel.as_ref() else {
return;
};
@@ -92,8 +86,10 @@ impl Settings for OutlinePanelSettings {
.merge_from(&panel.auto_reveal_entries);
self.auto_fold_dirs.merge_from(&panel.auto_fold_dirs);
- if let Some(scrollbar) = panel.scrollbar.as_ref() {
- self.scrollbar.show.merge_from(&scrollbar.show.flatten());
+ if let Some(scrollbar) = panel.scrollbar.as_ref()
+ && let Some(show) = scrollbar.show.flatten()
+ {
+ self.scrollbar.show = Some(show.into())
}
}
fn import_from_vscode(
@@ -408,8 +408,8 @@ 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_system_clipboard = Some(UseSystemClipboard::Never)
+ store.update_user_settings(cx, |s| {
+ s.vim.get_or_insert_default().use_system_clipboard = Some(UseSystemClipboard::Never)
});
});
@@ -444,8 +444,9 @@ 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_system_clipboard = Some(UseSystemClipboard::OnYank)
+ store.update_user_settings(cx, |s| {
+ s.vim.get_or_insert_default().use_system_clipboard =
+ Some(UseSystemClipboard::OnYank)
});
});
@@ -709,8 +710,8 @@ mod test {
Mode::Normal,
);
cx.update_global(|store: &mut SettingsStore, cx| {
- store.update_user_settings::<AllLanguageSettings>(cx, |settings| {
- settings.languages.0.insert(
+ store.update_user_settings(cx, |settings| {
+ settings.project.all_languages.languages.0.insert(
LanguageName::new("Rust"),
LanguageSettingsContent {
auto_indent_on_paste: Some(false),
@@ -772,8 +773,8 @@ mod test {
let mut cx = NeovimBackedTestContext::new(cx).await;
cx.update_global(|store: &mut SettingsStore, cx| {
- store.update_user_settings::<VimSettings>(cx, |s| {
- s.use_system_clipboard = Some(UseSystemClipboard::Never)
+ store.update_user_settings(cx, |s| {
+ s.vim.get_or_insert_default().use_system_clipboard = Some(UseSystemClipboard::Never)
});
});
@@ -818,8 +819,8 @@ mod test {
let mut cx = NeovimBackedTestContext::new(cx).await;
cx.update_global(|store: &mut SettingsStore, cx| {
- store.update_user_settings::<VimSettings>(cx, |s| {
- s.use_system_clipboard = Some(UseSystemClipboard::Never)
+ store.update_user_settings(cx, |s| {
+ s.vim.get_or_insert_default().use_system_clipboard = Some(UseSystemClipboard::Never)
});
});
@@ -847,8 +848,8 @@ mod test {
let mut cx = NeovimBackedTestContext::new(cx).await;
cx.update_global(|store: &mut SettingsStore, cx| {
- store.update_user_settings::<VimSettings>(cx, |s| {
- s.use_system_clipboard = Some(UseSystemClipboard::Never)
+ store.update_user_settings(cx, |s| {
+ s.vim.get_or_insert_default().use_system_clipboard = Some(UseSystemClipboard::Never)
});
});
@@ -906,8 +907,8 @@ 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_system_clipboard = Some(UseSystemClipboard::Never)
+ store.update_user_settings(cx, |s| {
+ s.vim.get_or_insert_default().use_system_clipboard = Some(UseSystemClipboard::Never)
});
});
@@ -427,9 +427,7 @@ mod test {
// First test without vertical scroll margin
cx.neovim.set_option(&format!("scrolloff={}", 0)).await;
cx.update_global(|store: &mut SettingsStore, cx| {
- store.update_user_settings::<EditorSettings>(cx, |s| {
- s.vertical_scroll_margin = Some(0.0)
- });
+ store.update_user_settings(cx, |s| s.editor.vertical_scroll_margin = Some(0.0));
});
let content = "ˇ".to_owned() + &sample_text(26, 2, 'a');
@@ -455,9 +453,7 @@ mod test {
cx.neovim.set_option(&format!("scrolloff={}", 3)).await;
cx.update_global(|store: &mut SettingsStore, cx| {
- store.update_user_settings::<EditorSettings>(cx, |s| {
- s.vertical_scroll_margin = Some(3.0)
- });
+ store.update_user_settings(cx, |s| s.editor.vertical_scroll_margin = Some(3.0));
});
// scroll down: ctrl-f
@@ -485,9 +481,8 @@ mod test {
cx.set_shared_state(&content).await;
cx.update_global(|store: &mut SettingsStore, cx| {
- store.update_user_settings::<EditorSettings>(cx, |s| {
- s.scroll_beyond_last_line = Some(ScrollBeyondLastLine::Off);
- // s.vertical_scroll_margin = Some(0.);
+ store.update_user_settings(cx, |s| {
+ s.editor.scroll_beyond_last_line = Some(ScrollBeyondLastLine::Off);
});
});