From a055d4bee697c2dbf600afbd768e840b0f040247 Mon Sep 17 00:00:00 2001 From: sigoden Date: Sun, 5 Mar 2023 00:19:48 +0800 Subject: feat: add `.copy` command (#10) --- src/utils.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/utils.rs (limited to 'src/utils.rs') diff --git a/src/utils.rs b/src/utils.rs new file mode 100644 index 0000000..cb5d1f9 --- /dev/null +++ b/src/utils.rs @@ -0,0 +1,19 @@ +use anyhow::{anyhow, Result}; +use copypasta::{ClipboardContext, ClipboardProvider}; +use std::io::{stdout, Write}; + +pub fn dump(text: T, newlines: usize) { + print!("{}{}", text.to_string(), "\n".repeat(newlines)); + let _ = stdout().flush(); +} + +pub fn copy(src: &str) -> Result<()> { + let mut ctx = ClipboardContext::new().map_err(|err| anyhow!("{err}"))?; + ctx.set_contents(src.to_string()) + .map_err(|err| anyhow!("{err}")) +} + +pub fn paste() -> Result { + let mut ctx = ClipboardContext::new().map_err(|err| anyhow!("{err}"))?; + ctx.get_contents().map_err(|err| anyhow!("{err}")) +} -- cgit v1.2.3