diff options
Diffstat (limited to 'src/utils.rs')
| -rw-r--r-- | src/utils.rs | 19 |
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}")) +} |
