//! # tree-sitter-grammar-repository//!//! This crate loads in all known languages and grammars from `helix`'s//! `languages.toml` at compile time and provides an easy way for you//! to easily map the language to a highlighter configuration.//!//! `tree-sitter` grammars can be dynamically linked by setting the//! `TREE_SITTER_GRAMMAR_LIB_DIR` environment variable. If set, this library//! expects a directory of the format://!//! ```text//! - TREE_SITTER_GRAMMAR_LIB_DIR//! - sources///! - html///! - queries///! - highlights.scm//! - injections.scm//! - package.json//! - javascript///! - queries///! - highlights.scm//! - injections.scm//! - package.json//! - libhtml-parser.so//! - libhtml-scanner.so//! - libjavascsript-scanner.so//! - ...//! ```//!//! Usage://!//! ```ignore//! use std::collections::HashMap;//! use tree_sitter_grammar_repository::Grammar;//! use tree_sitter_highlight::HighlightConfiguration;//!//! let highlighter_configurations = Grammar::VARIANTS//! .iter()//! .copied()//! .map(Grammar::highlight_configuration_params)//! .map(|v| (v, HighlightConfiguration::new(//! v.language.into(),//! v.name,//! v.highlights_query,//! v.injection_query,//! v.locals_query//! )))//! .collect::<HashMap<Grammar, HighlightConfiguration>>();//!//! let highlighter_configuration = highlighter_configurations//! .get(&Language::from_file_name("hello_world.toml").grammar());//! ```include!(concat!(env!("OUT_DIR"), "/grammar.registry.rs"));include!(concat!(env!("OUT_DIR"), "/language.registry.rs"));pub mod grammar {include!(concat!(env!("OUT_DIR"), "/grammar.defs.rs"));}pub struct HighlightConfigurationParams {pub language: tree_sitter_language::LanguageFn,pub name: &'static str,pub highlights_query: &'static str,pub injection_query: &'static str,pub locals_query: &'static str,}