#[macro_use]
mod prelude;
mod deploy;
mod query;
mod script;
pub(crate) use tremor_script::highlighter::ErrorLevel;
pub(crate) use tremor_script::pos::Location;
pub(crate) use prelude::{Language, Token, TokenSpan};
pub(crate) const LANGUAGE_NAMES: &[&str] = &[
script::LANGUAGE_NAME,
query::LANGUAGE_NAME,
deploy::LANGUAGE_NAME,
script::FILE_EXTENSION,
query::FILE_EXTENSION,
deploy::LANGUAGE_NAME,
];
pub(crate) const DEFAULT_LANGUAGE_NAME: &str = script::LANGUAGE_NAME;
pub(crate) fn lookup(language_name: &str) -> Option<Box<dyn Language>> {
match language_name {
script::LANGUAGE_NAME | script::FILE_EXTENSION => {
Some(Box::new(script::TremorScript::default()))
}
query::LANGUAGE_NAME | query::FILE_EXTENSION => {
Some(Box::new(query::TremorQuery::default()))
}
deploy::LANGUAGE_NAME | deploy::FILE_EXTENSION => {
Some(Box::new(deploy::TremorDeploy::default()))
}
_ => None,
}
}