#[derive(Clone, Debug, PartialEq, Eq)]
pub enum BlockStyle {
Paired {
open: String,
close: String,
},
Line {
prefix: String,
},
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct Syntax {
pub expr: (String, String),
pub block: BlockStyle,
}
impl Default for Syntax {
fn default() -> Self {
Self::brackets()
}
}
impl Syntax {
pub fn brackets() -> Self {
Self {
expr: ("{{".into(), "}}".into()),
block: BlockStyle::Paired {
open: "{%".into(),
close: "%}".into(),
},
}
}
pub fn lines() -> Self {
Self {
expr: ("{{".into(), "}}".into()),
block: BlockStyle::Line { prefix: "#".into() },
}
}
}