@@ -15,7 +15,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                 SettingsPageItem::SectionHeader("General Settings"),
                 SettingsPageItem::SettingItem(SettingItem {
                     title: "Confirm Quit",
-                    description: "Whether to confirm before quitting Zed",
+                    description: "Confirm before quitting Zed",
                     field: Box::new(SettingField {
                         pick: |settings_content| &settings_content.workspace.confirm_quit,
                         pick_mut: |settings_content| &mut settings_content.workspace.confirm_quit,
@@ -25,7 +25,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
                     title: "Restore On Startup",
-                    description: "Whether to restore previous session when opening Zed",
+                    description: "Restore previous session when opening Zed",
                     field: Box::new(SettingField {
                         pick: |settings_content| &settings_content.workspace.restore_on_startup,
                         pick_mut: |settings_content| {
@@ -35,30 +35,6 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     metadata: None,
                     files: USER,
                 }),
-                SettingsPageItem::SettingItem(SettingItem {
-                    title: "Restore File State",
-                    description: "Whether to restore previous file state when reopening",
-                    field: Box::new(SettingField {
-                        pick: |settings_content| &settings_content.workspace.restore_on_file_reopen,
-                        pick_mut: |settings_content| {
-                            &mut settings_content.workspace.restore_on_file_reopen
-                        },
-                    }),
-                    metadata: None,
-                    files: USER,
-                }),
-                SettingsPageItem::SettingItem(SettingItem {
-                    title: "Close on File Delete",
-                    description: "Whether to automatically close files that have been deleted",
-                    field: Box::new(SettingField {
-                        pick: |settings_content| &settings_content.workspace.close_on_file_delete,
-                        pick_mut: |settings_content| {
-                            &mut settings_content.workspace.close_on_file_delete
-                        },
-                    }),
-                    metadata: None,
-                    files: USER,
-                }),
                 SettingsPageItem::SettingItem(SettingItem {
                     title: "When Closing With No Tabs",
                     description: "What to do when using the 'close active item' action with no tabs",
@@ -87,7 +63,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
                     title: "Use System Path Prompts",
-                    description: "Whether to use native OS dialogs for 'Open' and 'Save As'",
+                    description: "Use native OS dialogs for 'Open' and 'Save As'",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
                             &settings_content.workspace.use_system_path_prompts
@@ -101,7 +77,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
                     title: "Use System Prompts",
-                    description: "Whether to use native OS dialogs for confirmations",
+                    description: "Use native OS dialogs for confirmations",
                     field: Box::new(SettingField {
                         pick: |settings_content| &settings_content.workspace.use_system_prompts,
                         pick_mut: |settings_content| {
@@ -111,6 +87,18 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     metadata: None,
                     files: USER,
                 }),
+                SettingsPageItem::SettingItem(SettingItem {
+                    title: "Redact Private Values",
+                    description: "Hide the values of variables in private files",
+                    field: Box::new(SettingField {
+                        pick: |settings_content| &settings_content.editor.redact_private_values,
+                        pick_mut: |settings_content| {
+                            &mut settings_content.editor.redact_private_values
+                        },
+                    }),
+                    metadata: None,
+                    files: USER,
+                }),
                 SettingsPageItem::SectionHeader("Scoped Settings"),
                 SettingsPageItem::SettingItem(SettingItem {
                     // todo(settings_ui): Implement another setting item type that just shows an edit in settings.json
@@ -338,7 +326,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                 // behavior to have them both enabled at the same time
                 SettingsPageItem::SettingItem(SettingItem {
                     title: "Vim Mode",
-                    description: "Whether to enable vim modes and key bindings",
+                    description: "Enable vim modes and key bindings",
                     field: Box::new(SettingField {
                         pick: |settings_content| &settings_content.vim_mode,
                         pick_mut: |settings_content| &mut settings_content.vim_mode,
@@ -348,7 +336,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
                     title: "Helix Mode",
-                    description: "Whether to enable helix modes and key bindings",
+                    description: "Enable helix modes and key bindings",
                     field: Box::new(SettingField {
                         pick: |settings_content| &settings_content.helix_mode,
                         pick_mut: |settings_content| &mut settings_content.helix_mode,
@@ -426,7 +414,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
                     title: "Selection Highlight",
-                    description: "Whether to highlight all occurrences of selected text",
+                    description: "Highlight all occurrences of selected text",
                     field: Box::new(SettingField {
                         pick: |settings_content| &settings_content.editor.selection_highlight,
                         pick_mut: |settings_content| {
@@ -446,10 +434,24 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     metadata: None,
                     files: USER,
                 }),
+                SettingsPageItem::SettingItem(SettingItem {
+                    title: "Minimum Contrast For Highlights",
+                    description: "The minimum APCA perceptual contrast to maintain when rendering text over highlight backgrounds",
+                    field: Box::new(SettingField {
+                        pick: |settings_content| {
+                            &settings_content.editor.minimum_contrast_for_highlights
+                        },
+                        pick_mut: |settings_content| {
+                            &mut settings_content.editor.minimum_contrast_for_highlights
+                        },
+                    }),
+                    metadata: None,
+                    files: USER,
+                }),
                 SettingsPageItem::SectionHeader("Guides"),
                 SettingsPageItem::SettingItem(SettingItem {
                     title: "Show Wrap Guides",
-                    description: "Whether to show wrap guides (vertical rulers)",
+                    description: "Show wrap guides (vertical rulers)",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
                             &settings_content
@@ -487,29 +489,6 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     metadata: None,
                     files: USER | LOCAL,
                 }),
-                SettingsPageItem::SectionHeader("Whitespace"),
-                SettingsPageItem::SettingItem(SettingItem {
-                    title: "Show Whitespace",
-                    description: "Whether to show tabs and spaces",
-                    field: Box::new(SettingField {
-                        pick: |settings_content| {
-                            &settings_content
-                                .project
-                                .all_languages
-                                .defaults
-                                .show_whitespaces
-                        },
-                        pick_mut: |settings_content| {
-                            &mut settings_content
-                                .project
-                                .all_languages
-                                .defaults
-                                .show_whitespaces
-                        },
-                    }),
-                    metadata: None,
-                    files: USER | LOCAL,
-                }),
                 SettingsPageItem::SectionHeader("Layout"),
                 SettingsPageItem::SettingItem(SettingItem {
                     title: "Bottom Dock Layout",
@@ -573,7 +552,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
                     title: "Zoomed Padding",
-                    description: "Whether to show padding for zoomed panels",
+                    description: "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,
@@ -601,68 +580,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
             title: "Editor",
             items: {
                 let mut items = vec![
-                    SettingsPageItem::SectionHeader("Search"),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        title: "Search Wrap",
-                        description: "Whether the editor search results will loop",
-                        field: Box::new(SettingField {
-                            pick: |settings_content| &settings_content.editor.search_wrap,
-                            pick_mut: |settings_content| &mut settings_content.editor.search_wrap,
-                        }),
-                        metadata: None,
-                        files: USER,
-                    }),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        title: "Seed Search Query From Cursor",
-                        description: "When to populate a new search's query based on the text under the cursor",
-                        field: Box::new(SettingField {
-                            pick: |settings_content| {
-                                &settings_content.editor.seed_search_query_from_cursor
-                            },
-                            pick_mut: |settings_content| {
-                                &mut settings_content.editor.seed_search_query_from_cursor
-                            },
-                        }),
-                        metadata: None,
-                        files: USER,
-                    }),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        title: "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| {
-                                &mut settings_content.editor.use_smartcase_search
-                            },
-                        }),
-                        metadata: None,
-                        files: USER,
-                    }),
-                    SettingsPageItem::SectionHeader("Editor Behavior"),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        title: "Redact Private Values",
-                        description: "Hide the values of variables in private files",
-                        field: Box::new(SettingField {
-                            pick: |settings_content| &settings_content.editor.redact_private_values,
-                            pick_mut: |settings_content| {
-                                &mut settings_content.editor.redact_private_values
-                            },
-                        }),
-                        metadata: None,
-                        files: USER,
-                    }),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        title: "Middle Click Paste",
-                        description: "Whether to enable middle-click paste on Linux",
-                        field: Box::new(SettingField {
-                            pick: |settings_content| &settings_content.editor.middle_click_paste,
-                            pick_mut: |settings_content| {
-                                &mut settings_content.editor.middle_click_paste
-                            },
-                        }),
-                        metadata: None,
-                        files: USER,
-                    }),
+                    SettingsPageItem::SectionHeader("Multibuffer"),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Double Click In Multibuffer",
                         description: "What to do when multibuffer is double-clicked in some of its excerpts",
@@ -677,20 +595,6 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                         metadata: None,
                         files: USER,
                     }),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        title: "Go To Definition Fallback",
-                        description: "Whether to follow-up empty go to definition responses from the language server",
-                        field: Box::new(SettingField {
-                            pick: |settings_content| {
-                                &settings_content.editor.go_to_definition_fallback
-                            },
-                            pick_mut: |settings_content| {
-                                &mut settings_content.editor.go_to_definition_fallback
-                            },
-                        }),
-                        metadata: None,
-                        files: USER,
-                    }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Expand Excerpt Lines",
                         description: "How many lines to expand the multibuffer excerpts by default",
@@ -715,20 +619,6 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                         metadata: None,
                         files: USER,
                     }),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        title: "Minimum Contrast For Highlights",
-                        description: "The minimum APCA perceptual contrast to maintain when rendering text over highlight backgrounds",
-                        field: Box::new(SettingField {
-                            pick: |settings_content| {
-                                &settings_content.editor.minimum_contrast_for_highlights
-                            },
-                            pick_mut: |settings_content| {
-                                &mut settings_content.editor.minimum_contrast_for_highlights
-                            },
-                        }),
-                        metadata: None,
-                        files: USER,
-                    }),
                     SettingsPageItem::SectionHeader("Scrolling"),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Scroll Beyond Last Line",
@@ -813,7 +703,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     SettingsPageItem::SectionHeader("Signature Help"),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Auto Signature Help",
-                        description: "Whether to automatically show a signature help pop-up or not",
+                        description: "Automatically show a signature help pop-up",
                         field: Box::new(SettingField {
                             pick: |settings_content| &settings_content.editor.auto_signature_help,
                             pick_mut: |settings_content| {
@@ -825,7 +715,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Show Signature Help After Edits",
-                        description: "Whether to show the signature help pop-up after completions or bracket pairs inserted",
+                        description: "Show the signature help pop-up after completions or bracket pairs are inserted",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 &settings_content.editor.show_signature_help_after_edits
@@ -852,7 +742,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     SettingsPageItem::SectionHeader("Hover"),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Hover Popover Enabled",
-                        description: "Whether to show the informational hover box when moving the mouse over symbols in the editor",
+                        description: "Show the informational hover box when moving the mouse over symbols in the editor",
                         field: Box::new(SettingField {
                             pick: |settings_content| &settings_content.editor.hover_popover_enabled,
                             pick_mut: |settings_content| {
@@ -875,10 +765,10 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                         metadata: None,
                         files: USER,
                     }),
-                    SettingsPageItem::SectionHeader("Code Actions"),
+                    SettingsPageItem::SectionHeader("Code Actions & Selection"),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Inline Code Actions",
-                        description: "Whether to show code action button at start of buffer line",
+                        description: "Show code action button at start of buffer line",
                         field: Box::new(SettingField {
                             pick: |settings_content| &settings_content.editor.inline_code_actions,
                             pick_mut: |settings_content| {
@@ -888,10 +778,9 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                         metadata: None,
                         files: USER,
                     }),
-                    SettingsPageItem::SectionHeader("Selection"),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Drag And Drop Selection",
-                        description: "Whether to enable drag and drop selection",
+                        description: "Enable drag and drop selection",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(drag_and_drop) =
@@ -940,7 +829,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     SettingsPageItem::SectionHeader("Gutter"),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Show Line Numbers",
-                        description: "Whether to show line numbers in the gutter",
+                        description: "Show line numbers in the gutter",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(gutter) = &settings_content.editor.gutter {
@@ -962,7 +851,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Relative Line Numbers",
-                        description: "Whether the line numbers on editors gutter are relative or not",
+                        description: "Whether the line numbers in the editor's gutter are relative or not",
                         field: Box::new(SettingField {
                             pick: |settings_content| &settings_content.editor.relative_line_numbers,
                             pick_mut: |settings_content| {
@@ -974,7 +863,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Show Runnables",
-                        description: "Whether to show runnable buttons in the gutter",
+                        description: "Show runnable buttons in the gutter",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(gutter) = &settings_content.editor.gutter {
@@ -996,7 +885,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Show Breakpoints",
-                        description: "Whether to show breakpoints in the gutter",
+                        description: "Show breakpoints in the gutter",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(gutter) = &settings_content.editor.gutter {
@@ -1018,7 +907,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Show Folds",
-                        description: "Whether to show code folding controls in the gutter",
+                        description: "Show code folding controls in the gutter",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(gutter) = &settings_content.editor.gutter {
@@ -1081,7 +970,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Cursors",
-                        description: "Whether to show cursor positions in the scrollbar",
+                        description: "Show cursor positions in the scrollbar",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(scrollbar) = &settings_content.editor.scrollbar {
@@ -1103,7 +992,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Git Diff",
-                        description: "Whether to show git diff indicators in the scrollbar",
+                        description: "Show git diff indicators in the scrollbar",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(scrollbar) = &settings_content.editor.scrollbar {
@@ -1125,7 +1014,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Search Results",
-                        description: "Whether to show buffer search result indicators in the scrollbar",
+                        description: "Show buffer search result indicators in the scrollbar",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(scrollbar) = &settings_content.editor.scrollbar {
@@ -1147,7 +1036,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Selected Text",
-                        description: "Whether to show selected text occurrences in the scrollbar",
+                        description: "Show selected text occurrences in the scrollbar",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(scrollbar) = &settings_content.editor.scrollbar {
@@ -1169,7 +1058,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Selected Symbol",
-                        description: "Whether to show selected symbol occurrences in the scrollbar",
+                        description: "Show selected symbol occurrences in the scrollbar",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(scrollbar) = &settings_content.editor.scrollbar {
@@ -1398,100 +1287,10 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                         metadata: None,
                         files: USER,
                     }),
-                    SettingsPageItem::SectionHeader("Tabs"),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        title: "Show Tab Bar",
-                        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,
-                        files: USER,
-                    }),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        title: "Show Git Status In Tabs",
-                        description: "Whether to show the Git file status on a tab item",
-                        field: Box::new(SettingField {
-                            pick: |settings_content| {
-                                if let Some(tabs) = &settings_content.tabs {
-                                    &tabs.git_status
-                                } else {
-                                    &None
-                                }
-                            },
-                            pick_mut: |settings_content| {
-                                &mut settings_content.tabs.get_or_insert_default().git_status
-                            },
-                        }),
-                        metadata: None,
-                        files: USER,
-                    }),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        title: "Show File Icons In Tabs",
-                        description: "Whether to show the file icon for a tab",
-                        field: Box::new(SettingField {
-                            pick: |settings_content| {
-                                if let Some(tabs) = &settings_content.tabs {
-                                    &tabs.file_icons
-                                } else {
-                                    &None
-                                }
-                            },
-                            pick_mut: |settings_content| {
-                                &mut settings_content.tabs.get_or_insert_default().file_icons
-                            },
-                        }),
-                        metadata: None,
-                        files: USER,
-                    }),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        title: "Tab Close Position",
-                        description: "Position of the close button in a tab",
-                        field: Box::new(SettingField {
-                            pick: |settings_content| {
-                                if let Some(tabs) = &settings_content.tabs {
-                                    &tabs.close_position
-                                } else {
-                                    &None
-                                }
-                            },
-                            pick_mut: |settings_content| {
-                                &mut settings_content.tabs.get_or_insert_default().close_position
-                            },
-                        }),
-                        metadata: None,
-                        files: USER,
-                    }),
-                    SettingsPageItem::SettingItem(SettingItem {
-                        files: USER,
-                        title: "Maximum Tabs",
-                        description: "Maximum open tabs in a pane. Will not close an unsaved tab",
-                        // todo(settings_ui): The default for this value is null and it's use in code
-                        // is complex, so I'm going to come back to this later
-                        field: Box::new(
-                            SettingField {
-                                pick: |settings_content| &settings_content.workspace.max_tabs,
-                                pick_mut: |settings_content| {
-                                    &mut settings_content.workspace.max_tabs
-                                },
-                            }
-                            .unimplemented(),
-                        ),
-                        metadata: None,
-                    }),
                     SettingsPageItem::SectionHeader("Toolbar"),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Breadcrumbs",
-                        description: "Whether to show breadcrumbs",
+                        description: "Show breadcrumbs",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(toolbar) = &settings_content.editor.toolbar {
@@ -1513,7 +1312,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Quick Actions",
-                        description: "Whether to show quick action buttons (e.g., search, selection, editor controls, etc.)",
+                        description: "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 {
@@ -1535,7 +1334,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Selections Menu",
-                        description: "Whether to show the selections menu in the editor toolbar",
+                        description: "Show the selections menu in the editor toolbar",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(toolbar) = &settings_content.editor.toolbar {
@@ -1557,7 +1356,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Agent Review",
-                        description: "Whether to show agent review buttons in the editor toolbar",
+                        description: "Show agent review buttons in the editor toolbar",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(toolbar) = &settings_content.editor.toolbar {
@@ -1579,7 +1378,7 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
                     }),
                     SettingsPageItem::SettingItem(SettingItem {
                         title: "Code Actions",
-                        description: "Whether to show code action buttons in the editor toolbar",
+                        description: "Show code action buttons in the editor toolbar",
                         field: Box::new(SettingField {
                             pick: |settings_content| {
                                 if let Some(toolbar) = &settings_content.editor.toolbar {
@@ -1676,656 +1475,809 @@ pub(crate) fn settings_data() -> Vec<SettingsPage> {
             ],
         },
         SettingsPage {
-            title: "Workbench & Window",
+            title: "Search & Files",
             items: vec![
-                SettingsPageItem::SectionHeader("Status Bar"),
+                SettingsPageItem::SectionHeader("Search"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Project Panel Button",
-                    description: "Whether to show the project panel button in the status bar",
+                    title: "Whole Word",
+                    description: "Search for whole words by default",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(project_panel) = &settings_content.project_panel {
-                                &project_panel.button
+                            if let Some(search) = &settings_content.editor.search {
+                                &search.whole_word
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .project_panel
+                                .editor
+                                .search
                                 .get_or_insert_default()
-                                .button
+                                .whole_word
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Active Language Button",
-                    description: "Whether to show the active language button in the status bar",
+                    title: "Case Sensitive",
+                    description: "Search case-sensitively by default",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(status_bar) = &settings_content.status_bar {
-                                &status_bar.active_language_button
+                            if let Some(search) = &settings_content.editor.search {
+                                &search.case_sensitive
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .status_bar
+                                .editor
+                                .search
                                 .get_or_insert_default()
-                                .active_language_button
+                                .case_sensitive
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Cursor Position Button",
-                    description: "Whether to show the cursor position button in the status bar",
+                    title: "Include Ignored",
+                    description: "Include ignored files in search results by default",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(status_bar) = &settings_content.status_bar {
-                                &status_bar.cursor_position_button
+                            if let Some(search) = &settings_content.editor.search {
+                                &search.include_ignored
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .status_bar
+                                .editor
+                                .search
                                 .get_or_insert_default()
-                                .cursor_position_button
+                                .include_ignored
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Terminal Button",
-                    description: "Whether to show the terminal button in the status bar",
+                    title: "Regex",
+                    description: "Use regex search by default",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(terminal) = &settings_content.terminal {
-                                &terminal.button
+                            if let Some(search) = &settings_content.editor.search {
+                                &search.regex
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
-                            &mut settings_content.terminal.get_or_insert_default().button
+                            &mut settings_content.editor.search.get_or_insert_default().regex
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
+                // todo: null by default
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Diagnostics Button",
-                    description: "Whether to show the project diagnostics button in the status bar",
+                    title: "Include Ignored in Search",
+                    description: "Use gitignored files when searching",
+                    field: Box::new(
+                        SettingField {
+                            pick: |settings_content| {
+                                if let Some(file_finder) = &settings_content.file_finder {
+                                    &file_finder.include_ignored
+                                } else {
+                                    &None
+                                }
+                            },
+                            pick_mut: |settings_content| {
+                                &mut settings_content
+                                    .file_finder
+                                    .get_or_insert_default()
+                                    .include_ignored
+                            },
+                        }
+                        .unimplemented(),
+                    ),
+                    metadata: None,
+                    files: USER,
+                }),
+                SettingsPageItem::SettingItem(SettingItem {
+                    title: "Search Wrap",
+                    description: "Whether the editor search results will loop",
+                    field: Box::new(SettingField {
+                        pick: |settings_content| &settings_content.editor.search_wrap,
+                        pick_mut: |settings_content| &mut settings_content.editor.search_wrap,
+                    }),
+                    metadata: None,
+                    files: USER,
+                }),
+                SettingsPageItem::SettingItem(SettingItem {
+                    title: "Seed Search Query From Cursor",
+                    description: "When to populate a new search's query based on the text under the cursor",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(diagnostics) = &settings_content.diagnostics {
-                                &diagnostics.button
-                            } else {
-                                &None
-                            }
+                            &settings_content.editor.seed_search_query_from_cursor
                         },
                         pick_mut: |settings_content| {
-                            &mut settings_content.diagnostics.get_or_insert_default().button
+                            &mut settings_content.editor.seed_search_query_from_cursor
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Project Search Button",
-                    description: "Whether to show the project search button in the status bar",
+                    title: "Use Smartcase Search",
+                    description: "Use smartcase (i.e., case-sensitive) search",
                     field: Box::new(SettingField {
-                        pick: |settings_content| {
-                            if let Some(search) = &settings_content.editor.search {
-                                &search.button
+                        pick: |settings_content| &settings_content.editor.use_smartcase_search,
+                        pick_mut: |settings_content| {
+                            &mut settings_content.editor.use_smartcase_search
+                        },
+                    }),
+                    metadata: None,
+                    files: USER,
+                }),
+                SettingsPageItem::SectionHeader("File Management"),
+                SettingsPageItem::SettingItem(SettingItem {
+                    title: "File Icons",
+                    description: "Show file icons in the file finder",
+                    field: Box::new(SettingField {
+                        pick: |settings_content| {
+                            if let Some(file_finder) = &settings_content.file_finder {
+                                &file_finder.file_icons
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .editor
-                                .search
+                                .file_finder
                                 .get_or_insert_default()
-                                .button
+                                .file_icons
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Debugger Button",
-                    description: "Whether to show the debugger button in the status bar",
+                    title: "Modal Max Width",
+                    description: "Determines how much space the file finder can take up in relation to the available window width",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(debugger) = &settings_content.debugger {
-                                &debugger.button
+                            if let Some(file_finder) = &settings_content.file_finder {
+                                &file_finder.modal_max_width
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
-                            &mut settings_content.debugger.get_or_insert_default().button
+                            &mut settings_content
+                                .file_finder
+                                .get_or_insert_default()
+                                .modal_max_width
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
-                SettingsPageItem::SectionHeader("Tab Bar"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Editor Tabs",
-                    description: "Whether or not to show the tab bar in the editor",
+                    title: "Restore File State",
+                    description: "Restore previous file state when reopening",
                     field: Box::new(SettingField {
-                        pick: |settings_content| {
-                            if let Some(tab_bar) = &settings_content.tab_bar {
-                                &tab_bar.show
-                            } else {
-                                &None
-                            }
+                        pick: |settings_content| &settings_content.workspace.restore_on_file_reopen,
+                        pick_mut: |settings_content| {
+                            &mut settings_content.workspace.restore_on_file_reopen
                         },
+                    }),
+                    metadata: None,
+                    files: USER,
+                }),
+                SettingsPageItem::SettingItem(SettingItem {
+                    title: "Close on File Delete",
+                    description: "Automatically close files that have been deleted",
+                    field: Box::new(SettingField {
+                        pick: |settings_content| &settings_content.workspace.close_on_file_delete,
                         pick_mut: |settings_content| {
-                            &mut settings_content.tab_bar.get_or_insert_default().show
+                            &mut settings_content.workspace.close_on_file_delete
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Show Navigation History Buttons",
-                    description: "Whether or not to show the navigation history buttons in the tab bar",
+                    title: "Skip Focus For Active In Search",
+                    description: "Whether the file finder should skip focus for the active file in search results",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(tab_bar) = &settings_content.tab_bar {
-                                &tab_bar.show_nav_history_buttons
+                            if let Some(file_finder) = &settings_content.file_finder {
+                                &file_finder.skip_focus_for_active_in_search
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .tab_bar
+                                .file_finder
                                 .get_or_insert_default()
-                                .show_nav_history_buttons
+                                .skip_focus_for_active_in_search
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
-                SettingsPageItem::SectionHeader("Title Bar"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Show Branch Icon",
-                    description: "Whether to show the branch icon beside branch switcher in the titlebar",
+                    title: "Git Status",
+                    description: "Show the git status in the file finder",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(title_bar) = &settings_content.title_bar {
-                                &title_bar.show_branch_icon
+                            if let Some(file_finder) = &settings_content.file_finder {
+                                &file_finder.git_status
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .title_bar
+                                .file_finder
                                 .get_or_insert_default()
-                                .show_branch_icon
+                                .git_status
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
+                SettingsPageItem::SectionHeader("File Scan"),
+            ],
+        },
+        SettingsPage {
+            title: "Workbench & Window",
+            items: vec![
+                SettingsPageItem::SectionHeader("Status Bar"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Show Branch Name",
-                    description: "Whether to show the branch name button in the titlebar",
+                    title: "Project Panel Button",
+                    description: "Show the project panel button in the status bar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(title_bar) = &settings_content.title_bar {
-                                &title_bar.show_branch_name
+                            if let Some(project_panel) = &settings_content.project_panel {
+                                &project_panel.button
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .title_bar
+                                .project_panel
                                 .get_or_insert_default()
-                                .show_branch_name
+                                .button
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Show Project Items",
-                    description: "Whether to show the project host and name in the titlebar",
+                    title: "Active Language Button",
+                    description: "Show the active language button in the status bar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(title_bar) = &settings_content.title_bar {
-                                &title_bar.show_project_items
+                            if let Some(status_bar) = &settings_content.status_bar {
+                                &status_bar.active_language_button
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .title_bar
+                                .status_bar
                                 .get_or_insert_default()
-                                .show_project_items
+                                .active_language_button
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Show Onboarding Banner",
-                    description: "Whether to show banners announcing new features in the titlebar",
+                    title: "Cursor Position Button",
+                    description: "Show the cursor position button in the status bar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(title_bar) = &settings_content.title_bar {
-                                &title_bar.show_onboarding_banner
+                            if let Some(status_bar) = &settings_content.status_bar {
+                                &status_bar.cursor_position_button
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .title_bar
+                                .status_bar
                                 .get_or_insert_default()
-                                .show_onboarding_banner
+                                .cursor_position_button
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Show User Picture",
-                    description: "Whether to show user picture in the titlebar",
+                    title: "Terminal Button",
+                    description: "Show the terminal button in the status bar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(title_bar) = &settings_content.title_bar {
-                                &title_bar.show_user_picture
+                            if let Some(terminal) = &settings_content.terminal {
+                                &terminal.button
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
-                            &mut settings_content
-                                .title_bar
-                                .get_or_insert_default()
-                                .show_user_picture
+                            &mut settings_content.terminal.get_or_insert_default().button
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Show Sign In",
-                    description: "Whether to show the sign in button in the titlebar",
+                    title: "Diagnostics Button",
+                    description: "Show the project diagnostics button in the status bar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(title_bar) = &settings_content.title_bar {
-                                &title_bar.show_sign_in
+                            if let Some(diagnostics) = &settings_content.diagnostics {
+                                &diagnostics.button
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
-                            &mut settings_content
-                                .title_bar
-                                .get_or_insert_default()
-                                .show_sign_in
+                            &mut settings_content.diagnostics.get_or_insert_default().button
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Show Menus",
-                    description: "Whether to show the menus in the titlebar",
+                    title: "Project Search Button",
+                    description: "Show the project search button in the status bar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(title_bar) = &settings_content.title_bar {
-                                &title_bar.show_menus
+                            if let Some(search) = &settings_content.editor.search {
+                                &search.button
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .title_bar
+                                .editor
+                                .search
                                 .get_or_insert_default()
-                                .show_menus
+                                .button
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
-                SettingsPageItem::SectionHeader("Tab Settings"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Activate On Close",
-                    description: "What to do after closing the current tab",
+                    title: "Debugger Button",
+                    description: "Show the debugger button in the status bar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(tabs) = &settings_content.tabs {
-                                &tabs.activate_on_close
+                            if let Some(debugger) = &settings_content.debugger {
+                                &debugger.button
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
-                            &mut settings_content
-                                .tabs
-                                .get_or_insert_default()
-                                .activate_on_close
+                            &mut settings_content.debugger.get_or_insert_default().button
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
+                SettingsPageItem::SectionHeader("Title Bar"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Tab Show Diagnostics",
-                    description: "Which files containing diagnostic errors/warnings to mark in the tabs",
+                    title: "Show Branch Icon",
+                    description: "Show the branch icon beside branch switcher in the titlebar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(tabs) = &settings_content.tabs {
-                                &tabs.show_diagnostics
+                            if let Some(title_bar) = &settings_content.title_bar {
+                                &title_bar.show_branch_icon
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .tabs
+                                .title_bar
                                 .get_or_insert_default()
-                                .show_diagnostics
+                                .show_branch_icon
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Show Close Button",
-                    description: "Controls the appearance behavior of the tab's close button",
+                    title: "Show Branch Name",
+                    description: "Show the branch name button in the titlebar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(tabs) = &settings_content.tabs {
-                                &tabs.show_close_button
+                            if let Some(title_bar) = &settings_content.title_bar {
+                                &title_bar.show_branch_name
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .tabs
+                                .title_bar
                                 .get_or_insert_default()
-                                .show_close_button
+                                .show_branch_name
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
-                SettingsPageItem::SectionHeader("Preview Tabs"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Preview Tabs Enabled",
-                    description: "Whether to show opened editors as preview tabs",
+                    title: "Show Project Items",
+                    description: "Show the project host and name in the titlebar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(preview_tabs) = &settings_content.preview_tabs {
-                                &preview_tabs.enabled
+                            if let Some(title_bar) = &settings_content.title_bar {
+                                &title_bar.show_project_items
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .preview_tabs
+                                .title_bar
                                 .get_or_insert_default()
-                                .enabled
+                                .show_project_items
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Enable Preview From File Finder",
-                    description: "Whether to open tabs in preview mode when selected from the file finder",
+                    title: "Show Onboarding Banner",
+                    description: "Show banners announcing new features in the titlebar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(preview_tabs) = &settings_content.preview_tabs {
-                                &preview_tabs.enable_preview_from_file_finder
+                            if let Some(title_bar) = &settings_content.title_bar {
+                                &title_bar.show_onboarding_banner
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .preview_tabs
+                                .title_bar
                                 .get_or_insert_default()
-                                .enable_preview_from_file_finder
+                                .show_onboarding_banner
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 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",
+                    title: "Show User Picture",
+                    description: "Show user picture in the titlebar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(preview_tabs) = &settings_content.preview_tabs {
-                                &preview_tabs.enable_preview_from_code_navigation
+                            if let Some(title_bar) = &settings_content.title_bar {
+                                &title_bar.show_user_picture
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .preview_tabs
+                                .title_bar
                                 .get_or_insert_default()
-                                .enable_preview_from_code_navigation
+                                .show_user_picture
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
-                SettingsPageItem::SectionHeader("Search Settings"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Whole Word",
-                    description: "Whether to search for whole words by default",
+                    title: "Show Sign In",
+                    description: "Show the sign in button in the titlebar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(search) = &settings_content.editor.search {
-                                &search.whole_word
+                            if let Some(title_bar) = &settings_content.title_bar {
+                                &title_bar.show_sign_in
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .editor
-                                .search
+                                .title_bar
                                 .get_or_insert_default()
-                                .whole_word
+                                .show_sign_in
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Case Sensitive",
-                    description: "Whether to search case-sensitively by default",
+                    title: "Show Menus",
+                    description: "Show the menus in the titlebar",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(search) = &settings_content.editor.search {
-                                &search.case_sensitive
+                            if let Some(title_bar) = &settings_content.title_bar {
+                                &title_bar.show_menus
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .editor
-                                .search
+                                .title_bar
                                 .get_or_insert_default()
-                                .case_sensitive
+                                .show_menus
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
+                SettingsPageItem::SectionHeader("Tab Bar"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Include Ignored",
-                    description: "Whether to include ignored files in search results by default",
+                    title: "Show Tab Bar",
+                    description: "Show the tab bar in the editor",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(search) = &settings_content.editor.search {
-                                &search.include_ignored
+                            if let Some(tab_bar) = &settings_content.tab_bar {
+                                &tab_bar.show
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
-                            &mut settings_content
-                                .editor
-                                .search
-                                .get_or_insert_default()
-                                .include_ignored
+                            &mut settings_content.tab_bar.get_or_insert_default().show
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Regex",
-                    description: "Whether to use regex search by default",
+                    title: "Editor Tabs",
+                    description: "Show the tab bar in the editor",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(search) = &settings_content.editor.search {
-                                &search.regex
+                            if let Some(tab_bar) = &settings_content.tab_bar {
+                                &tab_bar.show
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
-                            &mut settings_content.editor.search.get_or_insert_default().regex
+                            &mut settings_content.tab_bar.get_or_insert_default().show
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
-                SettingsPageItem::SectionHeader("File Finder"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "File Icons",
-                    description: "Whether to show file icons in the file finder",
+                    title: "Show Git Status In Tabs",
+                    description: "Show the Git file status on a tab item",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(file_finder) = &settings_content.file_finder {
-                                &file_finder.file_icons
+                            if let Some(tabs) = &settings_content.tabs {
+                                &tabs.git_status
+                            } else {
+                                &None
+                            }
+                        },
+                        pick_mut: |settings_content| {
+                            &mut settings_content.tabs.get_or_insert_default().git_status
+                        },
+                    }),
+                    metadata: None,
+                    files: USER,
+                }),
+                SettingsPageItem::SettingItem(SettingItem {
+                    title: "Show File Icons In Tabs",
+                    description: "Show the file icon for a tab",
+                    field: Box::new(SettingField {
+                        pick: |settings_content| {
+                            if let Some(tabs) = &settings_content.tabs {
+                                &tabs.file_icons
+                            } else {
+                                &None
+                            }
+                        },
+                        pick_mut: |settings_content| {
+                            &mut settings_content.tabs.get_or_insert_default().file_icons
+                        },
+                    }),
+                    metadata: None,
+                    files: USER,
+                }),
+                SettingsPageItem::SettingItem(SettingItem {
+                    title: "Tab Close Position",
+                    description: "Position of the close button in a tab",
+                    field: Box::new(SettingField {
+                        pick: |settings_content| {
+                            if let Some(tabs) = &settings_content.tabs {
+                                &tabs.close_position
+                            } else {
+                                &None
+                            }
+                        },
+                        pick_mut: |settings_content| {
+                            &mut settings_content.tabs.get_or_insert_default().close_position
+                        },
+                    }),
+                    metadata: None,
+                    files: USER,
+                }),
+                SettingsPageItem::SettingItem(SettingItem {
+                    files: USER,
+                    title: "Maximum Tabs",
+                    description: "Maximum open tabs in a pane. Will not close an unsaved tab",
+                    // todo(settings_ui): The default for this value is null and it's use in code
+                    // is complex, so I'm going to come back to this later
+                    field: Box::new(
+                        SettingField {
+                            pick: |settings_content| &settings_content.workspace.max_tabs,
+                            pick_mut: |settings_content| &mut settings_content.workspace.max_tabs,
+                        }
+                        .unimplemented(),
+                    ),
+                    metadata: None,
+                }),
+                SettingsPageItem::SettingItem(SettingItem {
+                    title: "Show Navigation History Buttons",
+                    description: "Show the navigation history buttons in the tab bar",
+                    field: Box::new(SettingField {
+                        pick: |settings_content| {
+                            if let Some(tab_bar) = &settings_content.tab_bar {
+                                &tab_bar.show_nav_history_buttons
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .file_finder
+                                .tab_bar
                                 .get_or_insert_default()
-                                .file_icons
+                                .show_nav_history_buttons
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
+                SettingsPageItem::SectionHeader("Tab Settings"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Modal Max Width",
-                    description: "Determines how much space the file finder can take up in relation to the available window width",
+                    title: "Activate On Close",
+                    description: "What to do after closing the current tab",
                     field: Box::new(SettingField {
                         pick: |settings_content| {
-                            if let Some(file_finder) = &settings_content.file_finder {
-                                &file_finder.modal_max_width
+                            if let Some(tabs) = &settings_content.tabs {
+                                &tabs.activate_on_close
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .file_finder
+                                .tabs
                                 .get_or_insert_default()
-                                .modal_max_width
+                                .activate_on_close
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Skip Focus For Active In Search",
-                    description: "Whether the file finder should skip focus for the active file in search results",
+                    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(file_finder) = &settings_content.file_finder {
-                                &file_finder.skip_focus_for_active_in_search
+                            if let Some(tabs) = &settings_content.tabs {
+                                &tabs.show_diagnostics
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .file_finder
+                                .tabs
                                 .get_or_insert_default()
-                                .skip_focus_for_active_in_search
+                                .show_diagnostics
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Git Status",
-                    description: "Whether to show the git status in the file finder",
+                    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(file_finder) = &settings_content.file_finder {
-                                &file_finder.git_status
+                            if let Some(tabs) = &settings_content.tabs {
+                                &tabs.show_close_button
                             } else {
                                 &None
                             }
                         },
                         pick_mut: |settings_content| {
                             &mut settings_content
-                                .file_finder
+                                .tabs
                                 .get_or_insert_default()
-                                .git_status
+                                .show_close_button
                         },
                     }),
                     metadata: None,
                     files: USER,
                 }),
-                // todo: null by default
+                SettingsPageItem::SectionHeader("Preview Tabs"),
                 SettingsPageItem::SettingItem(SettingItem {
-                    title: "Include Ignored",
-                    description: "Whether to use gitignored files when searching",
-                    field: Box::new(
-                        SettingField {
-                            pick: |settings_content| {
-                                if let Some(file_finder) = &settings_content.file_finder {
-                                    &file_finder.include_ignored
-                                } else {
-                                    &None
-                                }
-                            },
-                            pick_mut: |settings_content| {
-                                &mut settings_content
-                                    .file_finder
-                                    .get_or_insert_default()
-                                    .include_ignored
-                            },
-                        }
-                        .unimplemented(),
-                    ),
+                    title: "Preview Tabs Enabled",
+                    description: "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,
+                    files: USER,
+                }),
+                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,
+                    files: USER,
+                }),
+                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,
                     files: USER,
                 }),