From 9134630841f0a622a1f5c7e7354e8894cc1ae0e5 Mon Sep 17 00:00:00 2001 From: Smit Barmase Date: Fri, 21 Mar 2025 03:45:06 +0530 Subject: [PATCH] extensions: Add copy author info button in context menu (#27221) Closes #26108 Add "Copy Author Info" button to extension context menu. Release Notes: - Added option to copy extension author's name and email from extension context menu. --- crates/extensions_ui/src/extensions_ui.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/crates/extensions_ui/src/extensions_ui.rs b/crates/extensions_ui/src/extensions_ui.rs index 7fe504655d..74173460e9 100644 --- a/crates/extensions_ui/src/extensions_ui.rs +++ b/crates/extensions_ui/src/extensions_ui.rs @@ -612,6 +612,7 @@ impl ExtensionsPage { self.buttons_for_entry(extension, &status, has_dev_extension, cx); let version = extension.manifest.version.clone(); let repository_url = extension.manifest.repository.clone(); + let authors = extension.manifest.authors.clone(); let installed_version = match status { ExtensionStatus::Installed(installed_version) => Some(installed_version), @@ -749,6 +750,7 @@ impl ExtensionsPage { Some(Self::render_remote_extension_context_menu( &this, extension_id.clone(), + authors.clone(), window, cx, )) @@ -761,6 +763,7 @@ impl ExtensionsPage { fn render_remote_extension_context_menu( this: &Entity, extension_id: Arc, + authors: Vec, window: &mut Window, cx: &mut App, ) -> Entity { @@ -782,6 +785,12 @@ impl ExtensionsPage { cx.write_to_clipboard(ClipboardItem::new_string(extension_id.to_string())); } }) + .entry("Copy Author Info", None, { + let authors = authors.clone(); + move |_, cx| { + cx.write_to_clipboard(ClipboardItem::new_string(authors.join(", "))); + } + }) }); context_menu