radicle_term/command.rs
1use std::io::Write;
2use std::process::{Command, Stdio};
3
4pub fn bat<S: AsRef<std::ffi::OsStr>>(
5 args: impl IntoIterator<Item = S>,
6 stdin: &str,
7) -> anyhow::Result<()> {
8 let mut child = Command::new("bat")
9 .stdin(Stdio::piped())
10 .args(args)
11 .spawn()?;
12
13 let writer = child.stdin.as_mut().unwrap();
14 writer.write_all(stdin.as_bytes())?;
15
16 child.wait()?;
17
18 Ok(())
19}