summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-view/src/clipboard.rs9
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";