From 14436a75b10d07d22e950640d928822266373235 Mon Sep 17 00:00:00 2001 From: d1y Date: Tue, 21 May 2024 23:34:01 +0800 Subject: [PATCH] project panel: Update file icon when editing filename (#12078) Before: ![before](https://github.com/zed-industries/zed/assets/45585937/1590586d-9d42-4d44-85fc-8e79499408b3) After: ![after](https://github.com/zed-industries/zed/assets/45585937/c0fd1b2a-1ecf-4403-b74a-25c3c700f00d) Release Notes: - Update file icons during editing in project panel --------- Co-authored-by: Kirill Bulatov --- crates/project_panel/src/project_panel.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/crates/project_panel/src/project_panel.rs b/crates/project_panel/src/project_panel.rs index 541a3ea8d8..24fbee34f4 100644 --- a/crates/project_panel/src/project_panel.rs +++ b/crates/project_panel/src/project_panel.rs @@ -1685,7 +1685,13 @@ impl ProjectPanel { let filename_text_color = entry_git_aware_label_color(details.git_status, details.is_ignored, is_selected); let file_name = details.filename.clone(); - let icon = details.icon.clone(); + let mut icon = details.icon.clone(); + if show_editor && details.kind.is_file() { + let filename = self.filename_editor.read(cx).text(cx); + if filename.len() > 2 { + icon = FileIcons::get_icon(Path::new(&filename), cx); + } + } let depth = details.depth; div() .id(entry_id.to_proto() as usize)