Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::process::{Command, Stdio};
- fn run_fzf<O: Into<Stdio>, I: Into<Stdio>>(
- input: &str,
- stdin: Option<I>,
- stdout: Option<O>
- ) -> String {
- let child = Command::new("fzf")
- .args(&["-f", input, "--no-sort", "--inline-info"])
- .stdout(stdout.map(Into::into).unwrap_or(Stdio::piped()))
- .stdin(stdin.map(Into::into).unwrap_or(Stdio::inherit()))
- .spawn()
- .expect("Failed to run fzf command");
- let output = child.wait_with_output().expect("Failed to wait fzf command");
- String::from_utf8_lossy(&output.stdout).to_string()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement