From 84f488879c09198f08d09d4b0e0ab3c982b7fe70 Mon Sep 17 00:00:00 2001 From: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> Date: Tue, 7 Oct 2025 11:54:13 -0300 Subject: [PATCH] settings ui: Review available items ordering & writing (#39682) Release Notes: - N/A --- crates/settings_ui/src/page_data.rs | 559 ++++++++++++++-------------- 1 file changed, 279 insertions(+), 280 deletions(-) diff --git a/crates/settings_ui/src/page_data.rs b/crates/settings_ui/src/page_data.rs index 299bd63cfab04432335cddbdbea83c0b272bf878..ed554079d3706bc9d405b57e4319210c93c6edc7 100644 --- a/crates/settings_ui/src/page_data.rs +++ b/crates/settings_ui/src/page_data.rs @@ -10,9 +10,9 @@ use crate::{ pub(crate) fn user_settings_data() -> Vec { vec![ SettingsPage { - title: "General Page", + title: "General", items: vec![ - SettingsPageItem::SectionHeader("General"), + SettingsPageItem::SectionHeader("General Settings"), SettingsPageItem::SettingItem(SettingItem { title: "Confirm Quit", description: "Whether to confirm before quitting Zed", @@ -57,7 +57,7 @@ pub(crate) fn user_settings_data() -> Vec { }), SettingsPageItem::SettingItem(SettingItem { title: "When Closing With No Tabs", - description: "What to do when using 'close active item' with no tabs", + description: "What to do when using the 'close active item' action with no tabs", field: Box::new(SettingField { pick: |settings_content| { &settings_content.workspace.when_closing_with_no_tabs @@ -81,7 +81,7 @@ pub(crate) fn user_settings_data() -> Vec { }), SettingsPageItem::SettingItem(SettingItem { title: "Use System Path Prompts", - description: "Whether to use system dialogs for Open and Save As", + description: "Whether to use native OS dialogs for 'Open' and 'Save As'", field: Box::new(SettingField { pick: |settings_content| { &settings_content.workspace.use_system_path_prompts @@ -94,7 +94,7 @@ pub(crate) fn user_settings_data() -> Vec { }), SettingsPageItem::SettingItem(SettingItem { title: "Use System Prompts", - description: "Whether to use system prompts for confirmations", + description: "Whether to use native OS dialogs for confirmations", field: Box::new(SettingField { pick: |settings_content| &settings_content.workspace.use_system_prompts, pick_mut: |settings_content| { @@ -103,7 +103,7 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), - SettingsPageItem::SectionHeader("Scoped Settings"), + // SettingsPageItem::SectionHeader("Scoped Settings"), // todo(settings_ui): Implement another setting item type that just shows an edit in settings.json // SettingsPageItem::SettingItem(SettingItem { // title: "Preview Channel", @@ -130,7 +130,7 @@ pub(crate) fn user_settings_data() -> Vec { SettingsPageItem::SectionHeader("Privacy"), SettingsPageItem::SettingItem(SettingItem { title: "Telemetry Diagnostics", - description: "Send debug info like crash reports.", + description: "Send debug information like crash reports", field: Box::new(SettingField { pick: |settings_content| { if let Some(telemetry) = &settings_content.telemetry { @@ -150,7 +150,7 @@ pub(crate) fn user_settings_data() -> Vec { }), SettingsPageItem::SettingItem(SettingItem { title: "Telemetry Metrics", - description: "Send anonymized usage data like what languages you're using Zed with.", + description: "Send anonymized usage data like what languages you're using Zed with", field: Box::new(SettingField { pick: |settings_content| { if let Some(telemetry) = &settings_content.telemetry { @@ -170,7 +170,7 @@ pub(crate) fn user_settings_data() -> Vec { SettingsPage { title: "Appearance & Behavior", items: vec![ - SettingsPageItem::SectionHeader("Theme"), + // SettingsPageItem::SectionHeader("Theme"), // todo(settings_ui): Figure out how we want to add these // SettingsPageItem::SettingItem(SettingItem { // title: "Theme Mode", @@ -192,38 +192,6 @@ pub(crate) fn user_settings_data() -> Vec { // }), // metadata: None, // }), - SettingsPageItem::SectionHeader("Layout"), - SettingsPageItem::SettingItem(SettingItem { - title: "Bottom Dock Layout", - description: "Layout mode for the bottom dock", - field: Box::new(SettingField { - pick: |settings_content| &settings_content.workspace.bottom_dock_layout, - pick_mut: |settings_content| { - &mut settings_content.workspace.bottom_dock_layout - }, - }), - metadata: None, - }), - SettingsPageItem::SettingItem(SettingItem { - title: "Zoomed Padding", - description: "Whether to show padding for zoomed panels", - field: Box::new(SettingField { - pick: |settings_content| &settings_content.workspace.zoomed_padding, - pick_mut: |settings_content| &mut settings_content.workspace.zoomed_padding, - }), - metadata: None, - }), - SettingsPageItem::SettingItem(SettingItem { - title: "Use System Window Tabs", - description: "Whether to allow windows to tab together based on the user's tabbing preference (macOS only)", - field: Box::new(SettingField { - pick: |settings_content| &settings_content.workspace.use_system_window_tabs, - pick_mut: |settings_content| { - &mut settings_content.workspace.use_system_window_tabs - }, - }), - metadata: None, - }), SettingsPageItem::SectionHeader("Fonts"), SettingsPageItem::SettingItem(SettingItem { title: "Buffer Font Family", @@ -467,39 +435,39 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), - SettingsPageItem::SectionHeader("Window"), - // todo(settings_ui): Should we filter by platform? + SettingsPageItem::SectionHeader("Layout"), SettingsPageItem::SettingItem(SettingItem { - title: "Use System Window Tabs", - description: "Whether to allow windows to tab together (macOS only)", + title: "Bottom Dock Layout", + description: "Layout mode for the bottom dock", field: Box::new(SettingField { - pick: |settings_content| &settings_content.workspace.use_system_window_tabs, + pick: |settings_content| &settings_content.workspace.bottom_dock_layout, pick_mut: |settings_content| { - &mut settings_content.workspace.use_system_window_tabs + &mut settings_content.workspace.bottom_dock_layout }, }), metadata: None, }), - SettingsPageItem::SectionHeader("Layout"), - SettingsPageItem::SettingItem(SettingItem { - title: "Zoomed Padding", - description: "Whether to show padding for zoomed panels", - field: Box::new(SettingField { - pick: |settings_content| &settings_content.workspace.zoomed_padding, - pick_mut: |settings_content| &mut settings_content.workspace.zoomed_padding, - }), - metadata: None, - }), - // todo(settings_ui): Needs numeric stepper option within an option // SettingsPageItem::SettingItem(SettingItem { // title: "Centered Layout Left Padding", // description: "Left padding for centered layout", // field: Box::new(SettingField { // pick: |settings_content| { - // &settings_content.workspace.centered_layout.left_padding + // if let Some(centered_layout) = + // &settings_content.workspace.centered_layout + // { + // ¢ered_layout.left_padding + // } else { + // &None + // } // }, // pick_mut: |settings_content| { - // &mut settings_content.workspace.centered_layout.left_padding + // if let Some(mut centered_layout) = + // settings_content.workspace.centered_layout + // { + // &mut centered_layout.left_padding + // } else { + // &mut None + // } // }, // }), // metadata: None, @@ -530,12 +498,34 @@ pub(crate) fn user_settings_data() -> Vec { // metadata: None, // }), SettingsPageItem::SettingItem(SettingItem { - title: "Bottom Dock Layout", - description: "Layout mode of the bottom dock", + title: "Zoomed Padding", + description: "Whether to show padding for zoomed panels", field: Box::new(SettingField { - pick: |settings_content| &settings_content.workspace.bottom_dock_layout, + pick: |settings_content| &settings_content.workspace.zoomed_padding, + pick_mut: |settings_content| &mut settings_content.workspace.zoomed_padding, + }), + metadata: None, + }), + SettingsPageItem::SettingItem(SettingItem { + title: "Use System Window Tabs", + description: "(macOS-only) Whether to allow windows to merge based on the user's tabbing preference", + field: Box::new(SettingField { + pick: |settings_content| &settings_content.workspace.use_system_window_tabs, pick_mut: |settings_content| { - &mut settings_content.workspace.bottom_dock_layout + &mut settings_content.workspace.use_system_window_tabs + }, + }), + metadata: None, + }), + SettingsPageItem::SectionHeader("Window"), + // todo(settings_ui): Should we filter by platform? + SettingsPageItem::SettingItem(SettingItem { + title: "Use System Window Tabs", + description: "(macOS only) Whether to allow windows to tab together", + field: Box::new(SettingField { + pick: |settings_content| &settings_content.workspace.use_system_window_tabs, + pick_mut: |settings_content| { + &mut settings_content.workspace.use_system_window_tabs }, }), metadata: None, @@ -546,7 +536,6 @@ pub(crate) fn user_settings_data() -> Vec { title: "Editor", items: vec![ SettingsPageItem::SectionHeader("Indentation"), - // todo(settings_ui): Needs numeric stepper SettingsPageItem::SettingItem(SettingItem { title: "Tab Size", description: "How many columns a tab should occupy", @@ -608,16 +597,27 @@ pub(crate) fn user_settings_data() -> Vec { metadata: None, }), SettingsPageItem::SectionHeader("Wrapping"), - // todo(settings_ui): Needs numeric stepper - // SettingsPageItem::SettingItem(SettingItem { - // title: "Preferred Line Length", - // description: "The column at which to soft-wrap lines, for buffers where soft-wrap is enabled", - // field: Box::new(SettingField { - // pick: |settings_content| &settings_content.project.all_languages.defaults.preferred_line_length, - // pick_mut: |settings_content| &mut settings_content.project.all_languages.defaults.preferred_line_length, - // }), - // metadata: None, - // }), + SettingsPageItem::SettingItem(SettingItem { + title: "Preferred Line Length", + description: "The column at which to soft-wrap lines, for buffers where soft-wrap is enabled", + field: Box::new(SettingField { + pick: |settings_content| { + &settings_content + .project + .all_languages + .defaults + .preferred_line_length + }, + pick_mut: |settings_content| { + &mut settings_content + .project + .all_languages + .defaults + .preferred_line_length + }, + }), + metadata: None, + }), SettingsPageItem::SettingItem(SettingItem { title: "Soft Wrap", description: "How to soft-wrap long lines of text", @@ -656,7 +656,7 @@ pub(crate) fn user_settings_data() -> Vec { }), SettingsPageItem::SettingItem(SettingItem { title: "Use Smartcase Search", - description: "Whether to use smartcase search", + description: "Whether to use smartcase (i.e., case-sensitive) search", field: Box::new(SettingField { pick: |settings_content| &settings_content.editor.use_smartcase_search, pick_mut: |settings_content| { @@ -690,7 +690,7 @@ pub(crate) fn user_settings_data() -> Vec { }), SettingsPageItem::SettingItem(SettingItem { title: "Double Click In Multibuffer", - description: "What to do when multibuffer is double clicked in some of its excerpts", + description: "What to do when multibuffer is double-clicked in some of its excerpts", field: Box::new(SettingField { pick: |settings_content| { &settings_content.editor.double_click_in_multibuffer @@ -928,7 +928,7 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), - SettingsPageItem::SectionHeader("Completions"), + SettingsPageItem::SectionHeader("Language Server Completions"), SettingsPageItem::SettingItem(SettingItem { title: "Show Completions On Input", description: "Whether to pop the completions menu while typing in an editor without explicitly requesting it", @@ -1066,32 +1066,25 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), - // todo(settings_ui): Needs numeric stepper - // SettingsPageItem::SettingItem(SettingItem { - // title: "Drag And Drop Selection Delay", - // description: "Delay in milliseconds before drag and drop selection starts", - // field: Box::new(SettingField { - // pick: |settings_content| { - // if let Some(drag_and_drop) = &settings_content.editor.drag_and_drop_selection { - // &drag_and_drop.delay - // } else { - // &None - // } - // }, - // pick_mut: |settings_content| { - // &mut settings_content.editor.drag_and_drop_selection.get_or_insert_default().delay - // }, - // }), - // metadata: None, - // }), - SettingsPageItem::SectionHeader("Line Numbers"), SettingsPageItem::SettingItem(SettingItem { - title: "Relative Line Numbers", - description: "Whether the line numbers on editors gutter are relative or not", + title: "Drag And Drop Selection Delay", + description: "Delay in milliseconds before drag and drop selection starts", field: Box::new(SettingField { - pick: |settings_content| &settings_content.editor.relative_line_numbers, + pick: |settings_content| { + if let Some(drag_and_drop) = + &settings_content.editor.drag_and_drop_selection + { + &drag_and_drop.delay + } else { + &None + } + }, pick_mut: |settings_content| { - &mut settings_content.editor.relative_line_numbers + &mut settings_content + .editor + .drag_and_drop_selection + .get_or_insert_default() + .delay }, }), metadata: None, @@ -1118,6 +1111,17 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), + SettingsPageItem::SettingItem(SettingItem { + title: "Relative Line Numbers", + description: "Whether the line numbers on editors gutter are relative or not", + field: Box::new(SettingField { + pick: |settings_content| &settings_content.editor.relative_line_numbers, + pick_mut: |settings_content| { + &mut settings_content.editor.relative_line_numbers + }, + }), + metadata: None, + }), SettingsPageItem::SettingItem(SettingItem { title: "Show Runnables", description: "Whether to show runnable buttons in the gutter", @@ -1246,7 +1250,6 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), - // todo(settings_ui): Needs numeric stepper // SettingsPageItem::SettingItem(SettingItem { // title: "Maximum Tabs", // description: "Maximum open tabs in a pane. Will not close an unsaved tab", @@ -1280,7 +1283,7 @@ pub(crate) fn user_settings_data() -> Vec { }), SettingsPageItem::SettingItem(SettingItem { title: "Quick Actions", - description: "Whether to show quick action buttons", + description: "Whether to show quick action buttons (e.g., search, selection, editor controls, etc.)", field: Box::new(SettingField { pick: |settings_content| { if let Some(toolbar) = &settings_content.editor.toolbar { @@ -1415,24 +1418,7 @@ pub(crate) fn user_settings_data() -> Vec { SettingsPage { title: "Workbench & Window", items: vec![ - SettingsPageItem::SectionHeader("Workbench"), - SettingsPageItem::SettingItem(SettingItem { - title: "Editor Tabs", - description: "Whether or not to show the tab bar in the editor", - field: Box::new(SettingField { - pick: |settings_content| { - if let Some(tab_bar) = &settings_content.tab_bar { - &tab_bar.show - } else { - &None - } - }, - pick_mut: |settings_content| { - &mut settings_content.tab_bar.get_or_insert_default().show - }, - }), - metadata: None, - }), + SettingsPageItem::SectionHeader("Status Bar"), SettingsPageItem::SettingItem(SettingItem { title: "Active Language Button", description: "Whether to show the active language button in the status bar", @@ -1473,7 +1459,6 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), - SettingsPageItem::SectionHeader("Terminal"), SettingsPageItem::SettingItem(SettingItem { title: "Terminal Button", description: "Whether to show the terminal button in the status bar", @@ -1491,6 +1476,62 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), + SettingsPageItem::SettingItem(SettingItem { + title: "Diagnostics Button", + description: "Whether to show the project diagnostics button in the status bar", + field: Box::new(SettingField { + pick: |settings_content| { + if let Some(diagnostics) = &settings_content.diagnostics { + &diagnostics.button + } else { + &None + } + }, + pick_mut: |settings_content| { + &mut settings_content.diagnostics.get_or_insert_default().button + }, + }), + metadata: None, + }), + SettingsPageItem::SettingItem(SettingItem { + title: "Project Search Button", + description: "Whether to show the project search button in the status bar", + field: Box::new(SettingField { + pick: |settings_content| { + if let Some(search) = &settings_content.editor.search { + &search.button + } else { + &None + } + }, + pick_mut: |settings_content| { + &mut settings_content + .editor + .search + .get_or_insert_default() + .button + }, + }), + metadata: None, + }), + SettingsPageItem::SectionHeader("Tab Bar"), + SettingsPageItem::SettingItem(SettingItem { + title: "Editor Tabs", + description: "Whether or not to show the tab bar in the editor", + field: Box::new(SettingField { + pick: |settings_content| { + if let Some(tab_bar) = &settings_content.tab_bar { + &tab_bar.show + } else { + &None + } + }, + pick_mut: |settings_content| { + &mut settings_content.tab_bar.get_or_insert_default().show + }, + }), + metadata: None, + }), SettingsPageItem::SettingItem(SettingItem { title: "Show Navigation History Buttons", description: "Whether or not to show the navigation history buttons in the tab bar", @@ -1652,28 +1693,129 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), - SettingsPageItem::SectionHeader("Search Settings"), + SettingsPageItem::SectionHeader("Tab Settings"), SettingsPageItem::SettingItem(SettingItem { - title: "Search Button", - description: "Whether to show the project search button in the status bar", + title: "Activate On Close", + description: "What to do after closing the current tab", field: Box::new(SettingField { pick: |settings_content| { - if let Some(search) = &settings_content.editor.search { - &search.button + if let Some(tabs) = &settings_content.tabs { + &tabs.activate_on_close } else { &None } }, pick_mut: |settings_content| { &mut settings_content - .editor - .search + .tabs .get_or_insert_default() - .button + .activate_on_close + }, + }), + metadata: None, + }), + SettingsPageItem::SettingItem(SettingItem { + title: "Tab Show Diagnostics", + description: "Which files containing diagnostic errors/warnings to mark in the tabs", + field: Box::new(SettingField { + pick: |settings_content| { + if let Some(tabs) = &settings_content.tabs { + &tabs.show_diagnostics + } else { + &None + } + }, + pick_mut: |settings_content| { + &mut settings_content + .tabs + .get_or_insert_default() + .show_diagnostics + }, + }), + metadata: None, + }), + SettingsPageItem::SettingItem(SettingItem { + title: "Show Close Button", + description: "Controls the appearance behavior of the tab's close button", + field: Box::new(SettingField { + pick: |settings_content| { + if let Some(tabs) = &settings_content.tabs { + &tabs.show_close_button + } else { + &None + } + }, + pick_mut: |settings_content| { + &mut settings_content + .tabs + .get_or_insert_default() + .show_close_button + }, + }), + metadata: None, + }), + SettingsPageItem::SectionHeader("Preview Tabs"), + SettingsPageItem::SettingItem(SettingItem { + title: "Preview Tabs Enabled", + description: "Whether to show opened editors as preview tabs", + field: Box::new(SettingField { + pick: |settings_content| { + if let Some(preview_tabs) = &settings_content.preview_tabs { + &preview_tabs.enabled + } else { + &None + } + }, + pick_mut: |settings_content| { + &mut settings_content + .preview_tabs + .get_or_insert_default() + .enabled }, }), metadata: None, }), + SettingsPageItem::SettingItem(SettingItem { + title: "Enable Preview From File Finder", + description: "Whether to open tabs in preview mode when selected from the file finder", + field: Box::new(SettingField { + pick: |settings_content| { + if let Some(preview_tabs) = &settings_content.preview_tabs { + &preview_tabs.enable_preview_from_file_finder + } else { + &None + } + }, + pick_mut: |settings_content| { + &mut settings_content + .preview_tabs + .get_or_insert_default() + .enable_preview_from_file_finder + }, + }), + metadata: None, + }), + SettingsPageItem::SettingItem(SettingItem { + title: "Enable Preview From Code Navigation", + description: "Whether a preview tab gets replaced when code navigation is used to navigate away from the tab", + field: Box::new(SettingField { + pick: |settings_content| { + if let Some(preview_tabs) = &settings_content.preview_tabs { + &preview_tabs.enable_preview_from_code_navigation + } else { + &None + } + }, + pick_mut: |settings_content| { + &mut settings_content + .preview_tabs + .get_or_insert_default() + .enable_preview_from_code_navigation + }, + }), + metadata: None, + }), + SettingsPageItem::SectionHeader("Search Settings"), SettingsPageItem::SettingItem(SettingItem { title: "Whole Word", description: "Whether to search for whole words by default", @@ -1859,7 +2001,7 @@ pub(crate) fn user_settings_data() -> Vec { ], }, SettingsPage { - title: "Panels & Tools", + title: "Panels", items: vec![ SettingsPageItem::SectionHeader("Project Panel"), SettingsPageItem::SettingItem(SettingItem { @@ -2576,128 +2718,6 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), - SettingsPageItem::SectionHeader("Tab Settings"), - SettingsPageItem::SettingItem(SettingItem { - title: "Activate On Close", - description: "What to do after closing the current tab", - field: Box::new(SettingField { - pick: |settings_content| { - if let Some(tabs) = &settings_content.tabs { - &tabs.activate_on_close - } else { - &None - } - }, - pick_mut: |settings_content| { - &mut settings_content - .tabs - .get_or_insert_default() - .activate_on_close - }, - }), - metadata: None, - }), - SettingsPageItem::SettingItem(SettingItem { - title: "Tab Show Diagnostics", - description: "Which files containing diagnostic errors/warnings to mark in the tabs", - field: Box::new(SettingField { - pick: |settings_content| { - if let Some(tabs) = &settings_content.tabs { - &tabs.show_diagnostics - } else { - &None - } - }, - pick_mut: |settings_content| { - &mut settings_content - .tabs - .get_or_insert_default() - .show_diagnostics - }, - }), - metadata: None, - }), - SettingsPageItem::SettingItem(SettingItem { - title: "Show Close Button", - description: "Controls the appearance behavior of the tab's close button", - field: Box::new(SettingField { - pick: |settings_content| { - if let Some(tabs) = &settings_content.tabs { - &tabs.show_close_button - } else { - &None - } - }, - pick_mut: |settings_content| { - &mut settings_content - .tabs - .get_or_insert_default() - .show_close_button - }, - }), - metadata: None, - }), - SettingsPageItem::SectionHeader("Preview Tabs"), - SettingsPageItem::SettingItem(SettingItem { - title: "Preview Tabs Enabled", - description: "Whether to show opened editors as preview tabs", - field: Box::new(SettingField { - pick: |settings_content| { - if let Some(preview_tabs) = &settings_content.preview_tabs { - &preview_tabs.enabled - } else { - &None - } - }, - pick_mut: |settings_content| { - &mut settings_content - .preview_tabs - .get_or_insert_default() - .enabled - }, - }), - metadata: None, - }), - SettingsPageItem::SettingItem(SettingItem { - title: "Enable Preview From File Finder", - description: "Whether to open tabs in preview mode when selected from the file finder", - field: Box::new(SettingField { - pick: |settings_content| { - if let Some(preview_tabs) = &settings_content.preview_tabs { - &preview_tabs.enable_preview_from_file_finder - } else { - &None - } - }, - pick_mut: |settings_content| { - &mut settings_content - .preview_tabs - .get_or_insert_default() - .enable_preview_from_file_finder - }, - }), - metadata: None, - }), - SettingsPageItem::SettingItem(SettingItem { - title: "Enable Preview From Code Navigation", - description: "Whether a preview tab gets replaced when code navigation is used to navigate away from the tab", - field: Box::new(SettingField { - pick: |settings_content| { - if let Some(preview_tabs) = &settings_content.preview_tabs { - &preview_tabs.enable_preview_from_code_navigation - } else { - &None - } - }, - pick_mut: |settings_content| { - &mut settings_content - .preview_tabs - .get_or_insert_default() - .enable_preview_from_code_navigation - }, - }), - metadata: None, - }), ], }, SettingsPage { @@ -2706,7 +2726,7 @@ pub(crate) fn user_settings_data() -> Vec { SettingsPageItem::SectionHeader("Git"), SettingsPageItem::SettingItem(SettingItem { title: "Git Gutter", - description: "Control whether the git gutter is shown", + description: "Control whether git status is shown in the editor's gutter", field: Box::new(SettingField { pick: |settings_content| { if let Some(git) = &settings_content.git { @@ -2740,7 +2760,7 @@ pub(crate) fn user_settings_data() -> Vec { // metadata: None, // }), SettingsPageItem::SettingItem(SettingItem { - title: "Inline Blame Enabled", + title: "Inline Git Blame", description: "Whether or not to show git blame data inline in the currently focused line", field: Box::new(SettingField { pick: |settings_content| { @@ -2766,7 +2786,7 @@ pub(crate) fn user_settings_data() -> Vec { metadata: None, }), SettingsPageItem::SettingItem(SettingItem { - title: "Inline Blame Delay", + title: "Inline Git Blame Delay", description: "The delay after which the inline blame information is shown", field: Box::new(SettingField { pick: |settings_content| { @@ -2792,7 +2812,7 @@ pub(crate) fn user_settings_data() -> Vec { metadata: None, }), SettingsPageItem::SettingItem(SettingItem { - title: "Inline Blame Padding", + title: "Inline Git Blame Padding", description: "Padding between the end of the source line and the start of the inline blame in columns", field: Box::new(SettingField { pick: |settings_content| { @@ -2818,7 +2838,7 @@ pub(crate) fn user_settings_data() -> Vec { metadata: None, }), SettingsPageItem::SettingItem(SettingItem { - title: "Inline Blame Min Column", + title: "Inline Git Blame Min Column", description: "The minimum column number to show the inline blame information at", field: Box::new(SettingField { pick: |settings_content| { @@ -2982,24 +3002,6 @@ pub(crate) fn user_settings_data() -> Vec { SettingsPage { title: "Diagnostics & Errors", items: vec![ - SettingsPageItem::SectionHeader("Display"), - SettingsPageItem::SettingItem(SettingItem { - title: "Diagnostics Button", - description: "Whether to show the project diagnostics button in the status bar", - field: Box::new(SettingField { - pick: |settings_content| { - if let Some(diagnostics) = &settings_content.diagnostics { - &diagnostics.button - } else { - &None - } - }, - pick_mut: |settings_content| { - &mut settings_content.diagnostics.get_or_insert_default().button - }, - }), - metadata: None, - }), SettingsPageItem::SectionHeader("Filtering"), SettingsPageItem::SettingItem(SettingItem { title: "Max Severity", @@ -3059,7 +3061,6 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), - // todo(settings_ui): Needs numeric stepper SettingsPageItem::SettingItem(SettingItem { title: "Inline Update Debounce", description: "The delay in milliseconds to show inline diagnostics after the last diagnostic update", @@ -3086,7 +3087,6 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), - // todo(settings_ui): Needs numeric stepper SettingsPageItem::SettingItem(SettingItem { title: "Inline Padding", description: "The amount of padding between the end of the source line and the start of the inline diagnostic", @@ -3113,7 +3113,6 @@ pub(crate) fn user_settings_data() -> Vec { }), metadata: None, }), - // todo(settings_ui): Needs numeric stepper SettingsPageItem::SettingItem(SettingItem { title: "Inline Min Column", description: "The minimum column to display inline diagnostics", @@ -3143,7 +3142,7 @@ pub(crate) fn user_settings_data() -> Vec { SettingsPageItem::SectionHeader("Performance"), SettingsPageItem::SettingItem(SettingItem { title: "LSP Pull Diagnostics Enabled", - description: "Whether to pull for diagnostics or not", + description: "Whether to pull for language server-powered diagnostics or not", field: Box::new(SettingField { pick: |settings_content| { if let Some(diagnostics) = &settings_content.diagnostics {