From bff93d1b9e88303f60b20553f19cb7b935db5410 Mon Sep 17 00:00:00 2001 From: ripexz Date: Sat, 18 May 2019 17:20:45 +0200 Subject: [PATCH] tweak --- clipboard/clipboard.go | 26 ++++++++++++++++++++++++++ clipboard/clipboard_darwin.go | 22 +--------------------- clipboard/clipboard_linux.go | 22 +--------------------- 3 files changed, 28 insertions(+), 42 deletions(-) diff --git a/clipboard/clipboard.go b/clipboard/clipboard.go index 7b370a2..e7627c3 100644 --- a/clipboard/clipboard.go +++ b/clipboard/clipboard.go @@ -1,5 +1,31 @@ package clipboard +import "os/exec" + func Copy(text string) error { return copy(text) } + +func unixCopy(cmd *exec.Cmd, text string) error { + input, err := cmd.StdinPipe() + if err != nil { + return err + } + + err = cmd.Start() + if err != nil { + return err + } + + _, err = input.Write([]byte(text)) + if err != nil { + return err + } + + err = input.Close() + if err != nil { + return err + } + + return cmd.Wait() +} diff --git a/clipboard/clipboard_darwin.go b/clipboard/clipboard_darwin.go index 4f2a6d0..d577a90 100644 --- a/clipboard/clipboard_darwin.go +++ b/clipboard/clipboard_darwin.go @@ -9,25 +9,5 @@ import ( func copy(text string) error { cmd := exec.Command("pbcopy") - input, err := cmd.StdinPipe() - if err != nil { - return err - } - - err = cmd.Start() - if err != nil { - return err - } - - _, err = input.Write([]byte(text)) - if err != nil { - return err - } - - err = input.Close() - if err != nil { - return err - } - - return cmd.Wait() + return unixCopy(cmd, text) } diff --git a/clipboard/clipboard_linux.go b/clipboard/clipboard_linux.go index 0dbffd0..6b64178 100644 --- a/clipboard/clipboard_linux.go +++ b/clipboard/clipboard_linux.go @@ -28,25 +28,5 @@ func copy(text string) error { cmd := exec.Command(command[0], command[1:]...) - input, err := cmd.StdinPipe() - if err != nil { - return err - } - - err = cmd.Start() - if err != nil { - return err - } - - _, err = input.Write([]byte(text)) - if err != nil { - return err - } - - err = input.Close() - if err != nil { - return err - } - - return cmd.Wait() + return unixCopy(cmd, text) }