diff --git a/crates/agent/src/agent_profile.rs b/crates/agent/src/agent_profile.rs index 76f0199afb170e9843f32d2c3cd93d0a0c7b1b5e..40ba2f07db7ad425a5d0e9befe91499eb746b74e 100644 --- a/crates/agent/src/agent_profile.rs +++ b/crates/agent/src/agent_profile.rs @@ -49,7 +49,7 @@ impl AgentProfile { .unwrap_or_default(), }; - update_settings_file::(fs, cx, { + update_settings_file(fs, cx, { let id = id.clone(); move |settings, _cx| { profile_settings.save_to_settings(id, settings).log_err(); diff --git a/crates/terminal/src/terminal_settings.rs b/crates/terminal/src/terminal_settings.rs index 9d4037154a92307ac3088e936d3903f0db8c8703..e39ded2dc4145e7d68edea0c54311216598ebc3e 100644 --- a/crates/terminal/src/terminal_settings.rs +++ b/crates/terminal/src/terminal_settings.rs @@ -108,7 +108,7 @@ impl settings::Settings for TerminalSettings { breadcrumbs: content.toolbar.unwrap().breadcrumbs.unwrap(), }, scrollbar: ScrollbarSettings { - show: content.scrollbar.unwrap().show.unwrap(), + show: content.scrollbar.unwrap().show.flatten(), }, minimum_contrast: content.minimum_contrast.unwrap(), } diff --git a/crates/terminal_view/src/terminal_panel.rs b/crates/terminal_view/src/terminal_panel.rs index 5308b230f78b334c9a39cadbcbb3117ac4e3e11f..c327978201a6b330ee2afbe4856d96ae511dff73 100644 --- a/crates/terminal_view/src/terminal_panel.rs +++ b/crates/terminal_view/src/terminal_panel.rs @@ -18,12 +18,9 @@ use gpui::{ use itertools::Itertools; use project::{Fs, Project, ProjectEntryId}; use search::{BufferSearchBar, buffer_search::DivRegistrar}; -use settings::Settings; +use settings::{Settings, TerminalDockPosition}; use task::{RevealStrategy, RevealTarget, SpawnInTerminal, TaskId}; -use terminal::{ - Terminal, - terminal_settings::{TerminalDockPosition, TerminalSettings}, -}; +use terminal::{Terminal, terminal_settings::TerminalSettings}; use ui::{ ButtonCommon, Clickable, ContextMenu, FluentBuilder, PopoverMenu, Toggleable, Tooltip, prelude::*, @@ -1433,18 +1430,14 @@ impl Panel for TerminalPanel { _window: &mut Window, cx: &mut Context, ) { - settings::update_settings_file::( - self.fs.clone(), - cx, - move |settings, _| { - let dock = match position { - DockPosition::Left => TerminalDockPosition::Left, - DockPosition::Bottom => TerminalDockPosition::Bottom, - DockPosition::Right => TerminalDockPosition::Right, - }; - settings.dock = Some(dock); - }, - ); + settings::update_settings_file(self.fs.clone(), cx, move |settings, _| { + let dock = match position { + DockPosition::Left => TerminalDockPosition::Left, + DockPosition::Bottom => TerminalDockPosition::Bottom, + DockPosition::Right => TerminalDockPosition::Right, + }; + settings.terminal.get_or_insert_default().dock = Some(dock); + }); } fn size(&self, window: &Window, cx: &App) -> Pixels { diff --git a/crates/terminal_view/src/terminal_view.rs b/crates/terminal_view/src/terminal_view.rs index 5fdefc6a66224587bc746d21ecddb1a66a2bbe4f..45ecbb4d0ff38e144b1d1c4806b19921f6b4e30b 100644 --- a/crates/terminal_view/src/terminal_view.rs +++ b/crates/terminal_view/src/terminal_view.rs @@ -25,7 +25,7 @@ use terminal::{ index::Point, term::{TermMode, point_to_viewport, search::RegexSearch}, }, - terminal_settings::{self, CursorShape, TerminalBlink, TerminalSettings, WorkingDirectory}, + terminal_settings::{CursorShape, TerminalSettings}, }; use terminal_element::TerminalElement; use terminal_panel::TerminalPanel; @@ -50,7 +50,7 @@ use workspace::{ }; use serde::Deserialize; -use settings::{Settings, SettingsStore}; +use settings::{Settings, SettingsStore, TerminalBlink, WorkingDirectory}; use smol::Timer; use zed_actions::assistant::InlineAssist; @@ -997,12 +997,7 @@ impl ScrollbarVisibility for TerminalScrollbarSettingsWrapper { TerminalSettings::get_global(cx) .scrollbar .show - .map(|value| match value { - terminal_settings::ShowScrollbar::Auto => scrollbars::ShowScrollbar::Auto, - terminal_settings::ShowScrollbar::System => scrollbars::ShowScrollbar::System, - terminal_settings::ShowScrollbar::Always => scrollbars::ShowScrollbar::Always, - terminal_settings::ShowScrollbar::Never => scrollbars::ShowScrollbar::Never, - }) + .map(Into::into) .unwrap_or_else(|| EditorSettings::get_global(cx).scrollbar.show) } }