From 44f7c5798ed180b08bce0683437bcaff51b1294e Mon Sep 17 00:00:00 2001 From: zwyyy456 Date: Sun, 29 Dec 2024 16:47:56 +0800 Subject: [PATCH] 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