pub mod ada;
pub mod ada83;
pub mod c;
pub mod cpp;
pub mod csharp;
pub mod d;
pub mod elixir;
pub mod fsharp;
pub mod go;
pub mod java;
pub mod julia;
pub mod kotlin;
pub mod lua;
pub mod nim;
pub mod ocaml;
pub mod python;
pub mod rust;
pub mod shape;
pub mod swift;
pub mod typescript;
pub mod zig;
use seesaw_tgg::rules::format::RuleFile;
use zerodds_lang_cst::Language;
#[must_use]
pub fn catalogue(language: Language) -> RuleFile {
match language {
Language::Rust => rust::catalogue(),
Language::Cpp => cpp::catalogue(),
Language::C => c::catalogue(),
Language::Java => java::catalogue(),
Language::CSharp => csharp::catalogue(),
Language::Python => python::catalogue(),
Language::TypeScript => typescript::catalogue(),
Language::Go => go::catalogue(),
Language::OCaml => ocaml::catalogue(),
Language::Zig => zig::catalogue(),
Language::Swift => swift::catalogue(),
Language::Nim => nim::catalogue(),
Language::Lua => lua::catalogue(),
Language::Julia => julia::catalogue(),
Language::Elixir => elixir::catalogue(),
Language::D => d::catalogue(),
Language::Ada => ada::catalogue(),
Language::Ada83 => ada83::catalogue(),
Language::FSharp => fsharp::catalogue(),
Language::Kotlin => kotlin::catalogue(),
Language::Node => RuleFile {
format: 3,
name: "node".to_string(),
rules: Vec::new(),
},
}
}