nushell/src/commands/clip.rs
2019-06-08 04:46:47 +12:00

23 lines
698 B
Rust

use crate::commands::command::SinkCommandArgs;
use crate::errors::ShellError;
use clipboard::{ClipboardContext, ClipboardProvider};
pub fn clip(args: SinkCommandArgs) -> Result<(), ShellError> {
let mut clip_context: ClipboardContext = ClipboardProvider::new().unwrap();
let mut new_copy_data = String::new();
if args.input.len() > 0 {
let mut first = true;
for i in args.input.iter() {
if !first {
new_copy_data.push_str("\n");
} else {
first = false;
}
new_copy_data.push_str(&i.as_string().unwrap());
}
}
clip_context.set_contents(new_copy_data).unwrap();
Ok(())
}