#[cfg(feature = "cli")]
use clap::ValueEnum;
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
#[cfg_attr(feature = "cli", derive(ValueEnum))]
pub enum OutputFormat {
Pseudocode,
HighLevel,
#[cfg_attr(feature = "cli", value(name = "csharp", alias = "c-sharp"))]
CSharp,
#[default]
All,
}
impl OutputFormat {
pub(super) fn wants_pseudocode(self) -> bool {
matches!(self, OutputFormat::Pseudocode | OutputFormat::All)
}
pub(super) fn wants_high_level(self) -> bool {
matches!(self, OutputFormat::HighLevel | OutputFormat::All)
}
pub(super) fn wants_csharp(self) -> bool {
matches!(self, OutputFormat::CSharp | OutputFormat::All)
}
}