use core::fmt;
use std::{
fs::File,
io::{self, PipeReader, PipeWriter, Read, Write},
os::fd::{AsFd, BorrowedFd},
process::Stdio,
};
use nix::poll::{PollFd, PollFlags};
pub enum Input {
Stdin,
Pipe(PipeReader),
File(File),
}
pub enum Output {
Stdout,
Pipe(PipeWriter),
File(File),
}
impl From for Stdio {
fn from(value: Input) -> Self {
match value {
Input::Stdin => Stdio::inherit(),
Input::Pipe(reader) => reader.into(),
Input::File(file) => file.into(),
}
}
}
impl From