From 44f7c5798ed180b08bce0683437bcaff51b1294e Mon Sep 17 00:00:00 2001
From: zwyyy456 <zwyyy456@hotmail.com>
Date: Sun, 29 Dec 2024 16:47:56 +0800
Subject: [PATCH 1/3] feat(clipboard): add simple osc52 support

---
 lib/clipboard.zsh | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/lib/clipboard.zsh b/lib/clipboard.zsh
index 5d149f056..15a69e5e9 100644
--- a/lib/clipboard.zsh
+++ b/lib/clipboard.zsh
@@ -84,6 +84,17 @@ function detect-clipboard() {
   elif [ -n "${TMUX:-}" ] && (( ${+commands[tmux]} )); then
     function clipcopy() { tmux load-buffer "${1:--}"; }
     function clippaste() { tmux save-buffer -; }
+  elif [[ "$TERM" == "xterm"* || "$TERM" == "screen"* || "$TERM" == "tmux"* ]]; then
+    # OSC 52 support
+    function clipcopy() {
+      local data
+      data=$(cat "${1:-/dev/stdin}" | base64 | tr -d '\n')
+      printf "\033]52;c;%s\a" "$data" > /dev/tty
+    }
+    function clippaste() {
+      echo "OSC 52 does not support pasting from the clipboard."
+      return 1
+    }
   else
     function _retry_clipboard_detection_or_fail() {
       local clipcmd="${1}"; shift

From 32b4d285c3e43d382b31795b3cb433b5290a8457 Mon Sep 17 00:00:00 2001
From: zwyyy456 <zwyyy456@hotmail.com>
Date: Sun, 29 Dec 2024 17:07:13 +0800
Subject: [PATCH 2/3] fix(typo): make the name of local varialbe more readable

---
 lib/clipboard.zsh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/clipboard.zsh b/lib/clipboard.zsh
index 15a69e5e9..bf58a72ae 100644
--- a/lib/clipboard.zsh
+++ b/lib/clipboard.zsh
@@ -87,8 +87,8 @@ function detect-clipboard() {
   elif [[ "$TERM" == "xterm"* || "$TERM" == "screen"* || "$TERM" == "tmux"* ]]; then
     # OSC 52 support
     function clipcopy() {
-      local data
-      data=$(cat "${1:-/dev/stdin}" | base64 | tr -d '\n')
+      local content_tocopy
+      content_tocopy=$(cat "${1:-/dev/stdin}" | base64 | tr -d '\n')
       printf "\033]52;c;%s\a" "$data" > /dev/tty
     }
     function clippaste() {

From 3ce427d1966c039f75446ab9b3e8ef95cbbee404 Mon Sep 17 00:00:00 2001
From: zwy <zwyyy@GreenCloud.1672111989>
Date: Sun, 29 Dec 2024 22:10:23 +0900
Subject: [PATCH 3/3] feat(clipboard, copybuffer): fix typo, add 'yy' to yank
 buffer in vi-normal mode

---
 lib/clipboard.zsh                        | 2 +-
 plugins/copybuffer/copybuffer.plugin.zsh | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/clipboard.zsh b/lib/clipboard.zsh
index bf58a72ae..c3ae518df 100644
--- a/lib/clipboard.zsh
+++ b/lib/clipboard.zsh
@@ -89,7 +89,7 @@ function detect-clipboard() {
     function clipcopy() {
       local content_tocopy
       content_tocopy=$(cat "${1:-/dev/stdin}" | base64 | tr -d '\n')
-      printf "\033]52;c;%s\a" "$data" > /dev/tty
+      printf "\033]52;c;%s\a" "$content_tocopy" > /dev/tty
     }
     function clippaste() {
       echo "OSC 52 does not support pasting from the clipboard."
diff --git a/plugins/copybuffer/copybuffer.plugin.zsh b/plugins/copybuffer/copybuffer.plugin.zsh
index e636d9730..3238a2a6a 100644
--- a/plugins/copybuffer/copybuffer.plugin.zsh
+++ b/plugins/copybuffer/copybuffer.plugin.zsh
@@ -14,3 +14,4 @@ zle -N copybuffer
 bindkey -M emacs "^O" copybuffer
 bindkey -M viins "^O" copybuffer
 bindkey -M vicmd "^O" copybuffer
+bindkey -M vicmd "yy" copybuffer