Editor: tweak label for "Go to implementation" tabs (#8201)

Piotr Osiewicz created

No release notes as this is a followup to #7890 
Release Notes:

- N/A

Change summary

crates/editor/src/editor.rs      | 13 ++++++++++---
crates/editor/src/hover_links.rs |  2 +-
2 files changed, 11 insertions(+), 4 deletions(-)

Detailed changes

crates/editor/src/editor.rs 🔗

@@ -7409,6 +7409,7 @@ impl Editor {
             let definitions = definitions.await?;
             editor.update(&mut cx, |editor, cx| {
                 editor.navigate_to_hover_links(
+                    Some(kind),
                     definitions.into_iter().map(HoverLink::Text).collect(),
                     split,
                     cx,
@@ -7441,8 +7442,9 @@ impl Editor {
         .detach();
     }
 
-    pub fn navigate_to_hover_links(
+    pub(crate) fn navigate_to_hover_links(
         &mut self,
+        kind: Option<GotoDefinitionKind>,
         mut definitions: Vec<HoverLink>,
         split: bool,
         cx: &mut ViewContext<Editor>,
@@ -7511,13 +7513,18 @@ impl Editor {
             cx.spawn(|editor, mut cx| async move {
                 let (title, location_tasks, workspace) = editor
                     .update(&mut cx, |editor, cx| {
+                        let tab_kind = match kind {
+                            Some(GotoDefinitionKind::Implementation) => "Implementations",
+                            _ => "Definitions",
+                        };
                         let title = definitions
                             .iter()
                             .find_map(|definition| match definition {
                                 HoverLink::Text(link) => link.origin.as_ref().map(|origin| {
                                     let buffer = origin.buffer.read(cx);
                                     format!(
-                                        "Definitions for {}",
+                                        "{} for {}",
+                                        tab_kind,
                                         buffer
                                             .text_for_range(origin.range.clone())
                                             .collect::<String>()
@@ -7526,7 +7533,7 @@ impl Editor {
                                 HoverLink::InlayHint(_, _) => None,
                                 HoverLink::Url(_) => None,
                             })
-                            .unwrap_or("Definitions".to_string());
+                            .unwrap_or(tab_kind.to_string());
                         let location_tasks = definitions
                             .into_iter()
                             .map(|definition| match definition {

crates/editor/src/hover_links.rs 🔗

@@ -138,7 +138,7 @@ impl Editor {
                     cx.focus(&self.focus_handle);
                 }
 
-                self.navigate_to_hover_links(hovered_link_state.links, modifiers.alt, cx);
+                self.navigate_to_hover_links(None, hovered_link_state.links, modifiers.alt, cx);
                 return;
             }
         }