Skip to main content

sem_core/parser/plugins/
mod.rs

1pub mod code;
2pub mod csv_plugin;
3#[cfg(feature = "lang-erb")]
4pub mod erb;
5pub mod fallback;
6pub mod json;
7pub mod latex;
8pub mod markdown;
9#[cfg(feature = "lang-svelte")]
10pub mod svelte;
11pub mod toml_plugin;
12pub mod vue;
13pub mod yaml;
14
15use crate::parser::registry::ParserRegistry;
16
17pub fn create_default_registry() -> ParserRegistry {
18    let mut registry = ParserRegistry::new();
19
20    registry.register(Box::new(json::JsonParserPlugin));
21    registry.register(Box::new(code::CodeParserPlugin));
22    #[cfg(feature = "lang-svelte")]
23    registry.register(Box::new(svelte::SvelteParserPlugin));
24    registry.register(Box::new(vue::VueParserPlugin));
25    registry.register(Box::new(yaml::YamlParserPlugin));
26    registry.register(Box::new(toml_plugin::TomlParserPlugin));
27    registry.register(Box::new(csv_plugin::CsvParserPlugin));
28    registry.register(Box::new(markdown::MarkdownParserPlugin));
29    registry.register(Box::new(latex::LatexParserPlugin));
30    #[cfg(feature = "lang-erb")]
31    registry.register(Box::new(erb::ErbParserPlugin));
32    // Fallback must be last
33    registry.register(Box::new(fallback::FallbackParserPlugin));
34
35    registry
36}