Add command to copy current file name (#22174)
Closes #21967 Add actions `CopyFileName` and `CopyFileNameWithoutExtension` to be used in the command palette. Release Notes: - Added commands `editor: copy file name` and `editor: copy file name without extensions`.
This commit is contained in:
parent
8fa85c41a1
commit
7fe6943d89
3 changed files with 29 additions and 0 deletions
|
@ -265,6 +265,8 @@ gpui::actions!(
|
||||||
Copy,
|
Copy,
|
||||||
CopyFileLocation,
|
CopyFileLocation,
|
||||||
CopyHighlightJson,
|
CopyHighlightJson,
|
||||||
|
CopyFileName,
|
||||||
|
CopyFileNameWithoutExtension,
|
||||||
CopyPath,
|
CopyPath,
|
||||||
CopyPermalinkToLine,
|
CopyPermalinkToLine,
|
||||||
CopyRelativePath,
|
CopyRelativePath,
|
||||||
|
|
|
@ -13116,6 +13116,31 @@ impl Editor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn copy_file_name_without_extension(
|
||||||
|
&mut self,
|
||||||
|
_: &CopyFileNameWithoutExtension,
|
||||||
|
_: &mut Window,
|
||||||
|
cx: &mut Context<Self>,
|
||||||
|
) {
|
||||||
|
if let Some(file) = self.target_file(cx) {
|
||||||
|
if let Some(file_stem) = file.path().file_stem() {
|
||||||
|
if let Some(name) = file_stem.to_str() {
|
||||||
|
cx.write_to_clipboard(ClipboardItem::new_string(name.to_string()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn copy_file_name(&mut self, _: &CopyFileName, _: &mut Window, cx: &mut Context<Self>) {
|
||||||
|
if let Some(file) = self.target_file(cx) {
|
||||||
|
if let Some(file_name) = file.path().file_name() {
|
||||||
|
if let Some(name) = file_name.to_str() {
|
||||||
|
cx.write_to_clipboard(ClipboardItem::new_string(name.to_string()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn toggle_git_blame(
|
pub fn toggle_git_blame(
|
||||||
&mut self,
|
&mut self,
|
||||||
_: &ToggleGitBlame,
|
_: &ToggleGitBlame,
|
||||||
|
|
|
@ -408,6 +408,8 @@ impl EditorElement {
|
||||||
register_action(editor, window, Editor::reveal_in_finder);
|
register_action(editor, window, Editor::reveal_in_finder);
|
||||||
register_action(editor, window, Editor::copy_path);
|
register_action(editor, window, Editor::copy_path);
|
||||||
register_action(editor, window, Editor::copy_relative_path);
|
register_action(editor, window, Editor::copy_relative_path);
|
||||||
|
register_action(editor, window, Editor::copy_file_name);
|
||||||
|
register_action(editor, window, Editor::copy_file_name_without_extension);
|
||||||
register_action(editor, window, Editor::copy_highlight_json);
|
register_action(editor, window, Editor::copy_highlight_json);
|
||||||
register_action(editor, window, Editor::copy_permalink_to_line);
|
register_action(editor, window, Editor::copy_permalink_to_line);
|
||||||
register_action(editor, window, Editor::open_permalink_to_line);
|
register_action(editor, window, Editor::open_permalink_to_line);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue