Add scrollbars setting

This commit is contained in:
Mikayla Maki
2023-05-17 14:09:26 -07:00
parent 1c9a7a7ad8
commit ae3394f4de
4 changed files with 44 additions and 1 deletions
+15
View File
@@ -46,6 +46,7 @@ pub struct Settings {
pub hover_popover_enabled: bool,
pub show_completions_on_input: bool,
pub show_call_status_icon: bool,
pub show_scrollbars: ShowScrollbars,
pub vim_mode: bool,
pub autosave: Autosave,
pub default_dock_anchor: DockAnchor,
@@ -68,6 +69,15 @@ pub struct Settings {
pub base_keymap: BaseKeymap,
}
#[derive(Copy, Clone, Debug, Serialize, Deserialize, JsonSchema, PartialEq, Eq, Default)]
#[serde(rename_all = "snake_case")]
pub enum ShowScrollbars {
#[default]
Auto,
System,
Always,
}
#[derive(Copy, Clone, Debug, Serialize, Deserialize, JsonSchema, PartialEq, Eq, Default)]
pub enum BaseKeymap {
#[default]
@@ -390,6 +400,8 @@ pub struct SettingsFileContent {
#[serde(default)]
pub active_pane_magnification: Option<f32>,
#[serde(default)]
pub show_scrollbars: Option<ShowScrollbars>,
#[serde(default)]
pub cursor_blink: Option<bool>,
#[serde(default)]
pub confirm_quit: Option<bool>,
@@ -547,6 +559,7 @@ impl Settings {
features: Features {
copilot: defaults.features.copilot.unwrap(),
},
show_scrollbars: defaults.show_scrollbars.unwrap(),
}
}
@@ -598,6 +611,7 @@ impl Settings {
merge(&mut self.autosave, data.autosave);
merge(&mut self.default_dock_anchor, data.default_dock_anchor);
merge(&mut self.base_keymap, data.base_keymap);
merge(&mut self.show_scrollbars, data.show_scrollbars);
merge(&mut self.features.copilot, data.features.copilot);
if let Some(copilot) = data.copilot {
@@ -830,6 +844,7 @@ impl Settings {
auto_update: true,
base_keymap: Default::default(),
features: Features { copilot: true },
show_scrollbars: Default::default(),
}
}