diff options
| author | citrons <citrons@mondecitronne.com> | 2025-05-31 17:16:38 -0500 |
|---|---|---|
| committer | citrons <citrons@mondecitronne.com> | 2025-05-31 17:16:57 -0500 |
| commit | b11c892158772f508e494b2726a5d4db1bb74d23 (patch) | |
| tree | 16113353422520259ccc7937e9085a68ac6663a6 /client/clipboard/clipboard.go | |
| parent | 0a58e68ad438ff43fa5bbecdb8914aa00cab5099 (diff) | |
text input box
Diffstat (limited to 'client/clipboard/clipboard.go')
| -rw-r--r-- | client/clipboard/clipboard.go | 34 |
1 files changed, 34 insertions, 0 deletions
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 +} |
