From 8778083b5a101947fb6d7c359772231a7610bf7a Mon Sep 17 00:00:00 2001
From: Jonathan LEI <me@xjonathan.dev>
Date: Tue, 5 Sep 2023 22:01:32 -0700
Subject: [PATCH] Detect tmux clipboard provider on macOS (#8182)

---
 helix-view/src/clipboard.rs | 9 +++++++--
 1 file 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";