Detailed changes
@@ -49,7 +49,7 @@ impl AgentProfile {
.unwrap_or_default(),
};
- update_settings_file::<AgentSettings>(fs, cx, {
+ update_settings_file(fs, cx, {
let id = id.clone();
move |settings, _cx| {
profile_settings.save_to_settings(id, settings).log_err();
@@ -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(),
}
@@ -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<Self>,
) {
- settings::update_settings_file::<TerminalSettings>(
- 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 {
@@ -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)
}
}