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