use crate::unist::Position;
use alloc::string::String;
#[derive(Clone, Debug, Eq, PartialEq)]
#[cfg_attr(
feature = "serde",
derive(serde::Serialize, serde::Deserialize),
serde(rename_all = "camelCase")
)]
pub struct Frontmatter {
pub value: String,
pub info: String,
pub fence: char,
pub fence_length: usize,
pub closing_fence_length: usize,
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
pub position: Option<Position>,
}
impl Frontmatter {
#[must_use]
pub fn language(&self) -> Option<&str> {
self.info.split_ascii_whitespace().next()
}
}