#[derive(Debug, PartialEq, Eq, Clone, Copy)] pub enum Language { Latex, Bibtex, } impl Language { pub fn by_extension(extension: &str) -> Option { match extension.to_lowercase().as_ref() { "tex" | "sty" | "cls" | "lco" | "aux" => Some(Language::Latex), "bib" => Some(Language::Bibtex), _ => None, } } pub fn by_language_id(language_id: &str) -> Option { match language_id { "latex" | "tex" => Some(Language::Latex), "bibtex" | "bib" => Some(Language::Bibtex), _ => None, } } }