diff options
Diffstat (limited to 'helix-view/src/clipboard.rs')
-rw-r--r-- | helix-view/src/clipboard.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/helix-view/src/clipboard.rs b/helix-view/src/clipboard.rs index d639902f..812c803e 100644 --- a/helix-view/src/clipboard.rs +++ b/helix-view/src/clipboard.rs @@ -73,9 +73,14 @@ pub fn get_clipboard_provider() -> Box<dyn ClipboardProvider> { #[cfg(target_os = "macos")] pub fn get_clipboard_provider() -> Box<dyn ClipboardProvider> { - use crate::env::binary_exists; + use crate::env::{binary_exists, env_var_is_set}; - if binary_exists("pbcopy") && binary_exists("pbpaste") { + if env_var_is_set("TMUX") && binary_exists("tmux") { + command_provider! { + paste => "tmux", "save-buffer", "-"; + copy => "tmux", "load-buffer", "-w", "-"; + } + } else if binary_exists("pbcopy") && binary_exists("pbpaste") { command_provider! { paste => "pbpaste"; copy => "pbcopy"; |