use std::fmt;
use std::process::ExitStatus;
use std::process::Output;
#[derive(Clone, Debug)]
pub struct TmuxOutput(pub Output);
impl fmt::Display for TmuxOutput {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let s = &self.0.stdout.as_slice();
let output = String::from_utf8_lossy(s);
f.write_str(&output)
}
}
impl TmuxOutput {
pub fn into_inner(self) -> Output {
self.0
}
pub fn status(&self) -> ExitStatus {
self.0.status
}
pub fn stdout(self) -> Vec<u8> {
self.0.stdout
}
pub fn stderr(self) -> Vec<u8> {
self.0.stderr
}
pub fn success(&self) -> bool {
self.0.status.success()
}
pub fn code(&self) -> Option<i32> {
self.0.status.code()
}
}