From 1802d5eb787204d6289f546f45fe2bcf8116e4c1 Mon Sep 17 00:00:00 2001 From: Alsharif Eid Nahas Date: Fri, 25 Jul 2025 21:18:25 -0400 Subject: [PATCH] feat: add osc52 support --- clipboard.go | 7 +++++++ osc52.go | 8 ++++++++ 2 files changed, 15 insertions(+) create mode 100644 osc52.go diff --git a/clipboard.go b/clipboard.go index d7907d3..43efe17 100644 --- a/clipboard.go +++ b/clipboard.go @@ -5,6 +5,10 @@ // Package clipboard read/write on clipboard package clipboard +import "os" + +var isSsh = os.Getenv("SSH_TTY") != "" + // ReadAll read string from clipboard func ReadAll() (string, error) { return readAll() @@ -12,6 +16,9 @@ func ReadAll() (string, error) { // WriteAll write string to clipboard func WriteAll(text string) error { + if isSsh { + return writeOsc52(text) + } return writeAll(text) } diff --git a/osc52.go b/osc52.go new file mode 100644 index 0000000..43eb93c --- /dev/null +++ b/osc52.go @@ -0,0 +1,8 @@ +package clipboard + +import "os" + +func writeOsc52(text string) error { + _, err := os.Stderr.WriteString("\033]52;c;" + text + "\a") + return err +}