#[derive(Clone, derive_is_enum_variant::is_enum_variant, Debug)]
pub enum XCOutputTask {
Task,
Test,
Warning,
Error,
Result,
Exit
}
#[derive(Clone, derive_deref_rs::Deref, Debug)]
pub struct XCOutput {
#[deref]
pub value: String,
pub kind: XCOutputTask,
}
impl XCOutput {
pub fn is_task(&self) -> bool {
self.kind.is_task()
}
pub fn is_error(&self) -> bool {
self.kind.is_error()
}
pub fn is_test(&self) -> bool {
self.kind.is_test()
}
pub fn is_result(&self) -> bool {
self.kind.is_result()
}
}
impl std::fmt::Display for XCOutput {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
self.value.fmt(f)
}
}