use std::process::Command; #[derive(Debug)] pub enum ShellError { EmptyLine, NotFound(Command), ExecuteFailure(String), MalformedArgs(String), Interrupt, } impl PartialEq for ShellError { fn eq(&self, other: &Self) -> bool { match self { &ShellError::EmptyLine => matches!(other, ShellError::EmptyLine), &ShellError::NotFound(_) => matches!(other, ShellError::NotFound(_)), &ShellError::ExecuteFailure(_) => matches!(other, ShellError::ExecuteFailure(_)), &ShellError::MalformedArgs(_) => matches!(other, ShellError::MalformedArgs(_)), &ShellError::Interrupt => matches!(other, ShellError::Interrupt), } } }