pointguard/clip.rs
1use crate::error::Result;
2use crate::opts::Clip;
3use cli_clipboard::{ClipboardContext, ClipboardProvider};
4use std::io::{self, Read};
5
6pub fn clip(opts: Clip) -> Result<()> {
7 let mut clipboard = ClipboardContext::new()?;
8 let mut buffer = String::new();
9 io::stdin().read_to_string(&mut buffer)?;
10 clipboard.set_contents(buffer.trim_end().trim_end_matches('\n').to_owned())?;
11 std::thread::sleep(std::time::Duration::from_secs(opts.clip_time));
12 clipboard.clear()?;
13 Ok(())
14}