From b11c892158772f508e494b2726a5d4db1bb74d23 Mon Sep 17 00:00:00 2001 From: citrons Date: Sat, 31 May 2025 17:16:38 -0500 Subject: text input box --- client/clipboard/clipboard.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 client/clipboard/clipboard.go (limited to 'client/clipboard/clipboard.go') diff --git a/client/clipboard/clipboard.go b/client/clipboard/clipboard.go new file mode 100644 index 0000000..b110378 --- /dev/null +++ b/client/clipboard/clipboard.go @@ -0,0 +1,34 @@ +package tui + +import ( + "sync" +) + +type Clipboard interface { + Copy(text string) + Paste() <-chan string +} + +type virtualClipboard string + +func (clip *virtualClipboard) Copy(text string) { + *clip = text +} + +var ch = make(chan string) +func (clip *virtualClipboard) Paste() <-chan string { + go func() { + ch <- *clip + }() + return ch +} + +var clipboard Clipboard = virtualClipboard {} +var mut RWMutex + +func Get() { + mut.RLock() + c := clipboard + mut.RUnlock() + return c +} -- cgit v1.2.3