summaryrefslogtreecommitdiffstats
path: root/src/utils.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils.rs')
-rw-r--r--src/utils.rs19
1 files changed, 19 insertions, 0 deletions
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<T: ToString>(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<String> {
+ let mut ctx = ClipboardContext::new().map_err(|err| anyhow!("{err}"))?;
+ ctx.get_contents().map_err(|err| anyhow!("{err}"))
+}