From 1f03fc62db65a3f81cec3d84cf8b1237cf5d3d79 Mon Sep 17 00:00:00 2001 From: Mayank Verma Date: Sun, 23 Nov 2025 21:05:43 +0530 Subject: [PATCH] editor: Fix tab tooltips not showing file path for remote files (#43359) Closes #42344 Release Notes: - Fixed editor tab tooltips not showing file path for remote files Here's the before/after, tested both local and remote: https://github.com/user-attachments/assets/2768a0f8-e35b-4eff-aa95-d0decb51ec78 --- crates/editor/src/items.rs | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/crates/editor/src/items.rs b/crates/editor/src/items.rs index e7342f8a5834ded137eaea3ae367442ab99821fd..157ad84d053b9125dfd59243098deb680be7b264 100644 --- a/crates/editor/src/items.rs +++ b/crates/editor/src/items.rs @@ -23,7 +23,7 @@ use language::{ use lsp::DiagnosticSeverity; use multi_buffer::MultiBufferOffset; use project::{ - Project, ProjectItem as _, ProjectPath, lsp_store::FormatTrigger, + File, Project, ProjectItem as _, ProjectPath, lsp_store::FormatTrigger, project_settings::ProjectSettings, search::SearchQuery, }; use rpc::proto::{self, update_view}; @@ -645,18 +645,20 @@ impl Item for Editor { } fn tab_tooltip_text(&self, cx: &App) -> Option { - let file_path = self - .buffer() - .read(cx) - .as_singleton()? + self.buffer() .read(cx) - .file() - .and_then(|f| f.as_local())? - .abs_path(cx); - - let file_path = file_path.compact().to_string_lossy().into_owned(); - - Some(file_path.into()) + .as_singleton() + .and_then(|buffer| buffer.read(cx).file()) + .and_then(|file| File::from_dyn(Some(file))) + .map(|file| { + file.worktree + .read(cx) + .absolutize(&file.path) + .compact() + .to_string_lossy() + .into_owned() + .into() + }) } fn telemetry_event_text(&self) -> Option<&'static str> {