mirror of
https://github.com/zed-industries/zed.git
synced 2024-12-28 09:32:17 +03:00
Added copying
This commit is contained in:
parent
8c1054fbb6
commit
7c0d9f411a
@ -417,7 +417,8 @@
|
||||
"up": "terminal::Up",
|
||||
"down": "terminal::Down",
|
||||
"tab": "terminal::Tab",
|
||||
"cmd-v": "terminal::Paste"
|
||||
"cmd-v": "terminal::Paste",
|
||||
"cmd-c": "terminal::Copy"
|
||||
}
|
||||
}
|
||||
]
|
@ -53,7 +53,7 @@ pub struct ScrollTerminal(pub i32);
|
||||
|
||||
actions!(
|
||||
terminal,
|
||||
[Sigint, Escape, Del, Return, Left, Right, Up, Down, Tab, Clear, Paste, Deploy, Quit]
|
||||
[Sigint, Escape, Del, Return, Left, Right, Up, Down, Tab, Clear, Copy, Paste, Deploy, Quit]
|
||||
);
|
||||
impl_internal_actions!(terminal, [Input, ScrollTerminal]);
|
||||
|
||||
@ -71,6 +71,7 @@ pub fn init(cx: &mut MutableAppContext) {
|
||||
cx.add_action(Terminal::up);
|
||||
cx.add_action(Terminal::down);
|
||||
cx.add_action(Terminal::tab);
|
||||
cx.add_action(Terminal::copy);
|
||||
cx.add_action(Terminal::paste);
|
||||
cx.add_action(Terminal::scroll_terminal);
|
||||
}
|
||||
@ -275,6 +276,16 @@ impl Terminal {
|
||||
cx.emit(Event::CloseTerminal);
|
||||
}
|
||||
|
||||
///Attempt to paste the clipboard into the terminal
|
||||
fn copy(&mut self, _: &Copy, cx: &mut ViewContext<Self>) {
|
||||
let term = self.term.lock();
|
||||
let copy_text = term.selection_to_string();
|
||||
match copy_text {
|
||||
Some(s) => cx.write_to_clipboard(ClipboardItem::new(s)),
|
||||
None => (),
|
||||
}
|
||||
}
|
||||
|
||||
///Attempt to paste the clipboard into the terminal
|
||||
fn paste(&mut self, _: &Paste, cx: &mut ViewContext<Self>) {
|
||||
if let Some(item) = cx.read_from_clipboard() {
|
||||
|
Loading…
Reference in New Issue
Block a user