add indent size to project panel settings

Derek Briggs created

Change summary

assets/settings/default.json              | 14 ++++++++------
crates/project_panel/src/project_panel.rs |  3 ++-
2 files changed, 10 insertions(+), 7 deletions(-)

Detailed changes

assets/settings/default.json 🔗

@@ -102,16 +102,18 @@
     "show_other_hints": true
   },
   "project_panel": {
-    // Whether to show the git status in the project panel.
-    "git_status": true,
+    // Default width of the project panel.
+    "default_width": 240,
+    // Where to dock project panel. Can be 'left' or 'right'.
+    "dock": "left",
     // Whether to show file icons in the project panel.
     "file_icons": true,
     // Whether to show folder icons or chevrons for directories in the project panel.
     "folder_icons": true,
-    // Where to dock project panel. Can be 'left' or 'right'.
-    "dock": "left",
-    // Default width of the project panel.
-    "default_width": 240
+    // Whether to show the git status in the project panel.
+    "git_status": true,
+    // Amount of indentation for nested items.
+    "indent_size": 20
   },
   "assistant": {
     // Where to dock the assistant. Can be 'left', 'right' or 'bottom'.

crates/project_panel/src/project_panel.rs 🔗

@@ -1332,7 +1332,8 @@ impl ProjectPanel {
     ) -> AnyElement<Self> {
         let kind = details.kind;
         let path = details.path.clone();
-        let padding = theme.container.padding.left + details.depth as f32 * theme.indent_width;
+        let settings = settings::get::<ProjectPanelSettings>(cx);
+        let padding = theme.container.padding.left + details.depth as f32 * settings.indent_size;
 
         let entry_style = if details.is_cut {
             &theme.cut_entry