diff options
| author | delta <darkussdelta@gmail.com> | 2025-08-26 00:57:02 +0200 |
|---|---|---|
| committer | delta <darkussdelta@gmail.com> | 2025-08-26 00:58:09 +0200 |
| commit | cfd14e880023752bffe9a01d1781b54ceefa32ec (patch) | |
| tree | caf8bf8ef7cb966c9d06776bb75d02d11fe7eda7 /src | |
initial commit
Diffstat (limited to 'src')
| -rw-r--r-- | src/highlights.rs | 80 | ||||
| -rw-r--r-- | src/main.rs | 179 | ||||
| -rw-r--r-- | src/parsers.rs | 4273 |
3 files changed, 4532 insertions, 0 deletions
diff --git a/src/highlights.rs b/src/highlights.rs new file mode 100644 index 0000000..62f6e3d --- /dev/null +++ b/src/highlights.rs @@ -0,0 +1,80 @@ +pub static HIGHLIGHTS: &'static [&'static str] = &[ + "variable", + "variable.builtin", + "variable.parameter", + "variable.parameter.builtin", + "variable.member", + "constant", + "constant.builtin", + "constant.macro", + "module", + "module.builtin", + "label", + "string", + "string.documentation", + "string.regexp", + "string.escape", + "string.special", + "string.special.symbol", + "string.special.url", + "string.special.path", + "character", + "character.special", + "boolean", + "number", + "number.float", + "type", + "type.builtin", + "type.definition", + "attribute", + "attribute.builtin", + "property", + "function", + "function.builtin", + "function.call", + "function.macro", + "function.method", + "function.method.call", + "constructor", + "constructor.lua", + "operator", + "keyword", + "keyword.coroutine", + "keyword.function", + "keyword.operator", + "keyword.import", + "keyword.type", + "keyword.modifier", + "keyword.repeat", + "keyword.return", + "keyword.debug", + "keyword.exception", + "keyword.conditional", + "keyword.conditional.ternary", + "keyword.directive", + "keyword.directive.define", + "punctuation", + "punctuation.special", + "comment", + "comment.documentation", + "comment.error", + "comment.warning", + "comment.todo", + "comment.note", + "markup.strong", + "markup.italic", + "markup.strikethrough", + "markup.underline", + "markup.heading", + "markup.link", + "markup.link.label", + "markup.link.url", + "diff.plus", + "diff.delta", + "diff.minus", + "tag", + "tag.builtin", + "tag.attribute", + "tag.delimeter", + "none", +]; diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..d96cc46 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,179 @@ +mod highlights; +mod parsers; + +use core::str; +use std::{ + cell::RefCell, + collections::HashMap, + env::{ + args, + current_dir, + }, + fs::{ + create_dir, + read, + }, + process::Command, +}; + +use dirs::cache_dir; +use highlights::HIGHLIGHTS; +use libloading::Library; +use parsers::{ + ALIASES, + PARSERS, +}; +use tree_sitter::Language; +use tree_sitter_highlight::{ + HighlightConfiguration, Highlighter, HtmlRenderer +}; +use url::Url; + +fn get_config<'a>( + lang: &'a str, + configs: &'a RefCell<HashMap<&'a str, &'static HighlightConfiguration>>, +) -> Option<&'static HighlightConfiguration> { + let lang = ALIASES.get(lang).unwrap_or(&lang); + configs.borrow_mut().entry(lang).or_insert_with(|| { + let install_info = PARSERS.get(lang).unwrap(); + let mut cache_dir = cache_dir().unwrap(); + cache_dir.push("yah"); + + let mut query_dir = current_dir().unwrap(); + query_dir.push("nvim-treesitter"); + query_dir.push("queries"); + query_dir.push(lang); + + let mut parsers_dir = current_dir().unwrap(); + parsers_dir.push(".parsers"); + if !parsers_dir.exists() { + create_dir(&parsers_dir).unwrap(); + } + if !cache_dir.exists() { + create_dir(&cache_dir).unwrap(); + } + + let parser_path = parsers_dir.join(format!("{lang}.so")); + let repo_path = cache_dir.join( + Url::parse(install_info.url) + .unwrap() + .path_segments() + .unwrap() + .last() + .unwrap(), + ); + + if !parser_path.exists() { + if !repo_path.exists() { + Command::new("git") + .arg("clone") + .arg(install_info.url) + .current_dir(&cache_dir) + .spawn() + .unwrap() + .wait() + .unwrap(); + } + + if install_info.requires_generate_from_grammar { + if install_info.generate_requires_npm { + Command::new("npm") + .arg("install") + .current_dir(&repo_path) + .spawn() + .unwrap() + .wait() + .unwrap(); + } + + Command::new("tree-sitter") + .arg("generate") + .arg("--no-bindings") + .current_dir(&repo_path) + .spawn() + .unwrap() + .wait() + .unwrap(); + } + + Command::new("tree-sitter") + .arg("build") + .arg("-o") + .arg(&parser_path) + .arg( + install_info + .location + .map_or(repo_path.clone(), |location| repo_path.join(location)), + ) + .spawn() + .unwrap() + .wait() + .unwrap(); + } + + let library = unsafe { + Library::new(parser_path) + .unwrap() + }; + let parser = unsafe { + library.get::<unsafe extern "C" fn() -> Language>(format!("tree_sitter_{lang}").as_bytes()) + .unwrap() + () + }; + std::mem::forget(library); // this causes the dylib to not be unloaded with dlclose after this + // scope is dropped, and thus extending its lifetime to static + + let mut config = HighlightConfiguration::new( + parser, + *lang, + read(query_dir.join("highlights.scm")) + .map(|v| String::from_utf8(v).unwrap()) + .unwrap_or(String::from("")) + .as_str(), + read(query_dir.join("injections.scm")) + .map(|v| String::from_utf8(v).unwrap()) + .unwrap_or(String::from("")) + .as_str(), + read(query_dir.join("locals.scm")) + .map(|v| String::from_utf8(v).unwrap()) + .unwrap_or(String::from("")) + .as_str(), + ) + .unwrap(); + config.configure(HIGHLIGHTS); + Box::leak(Box::new(config)) + }); + configs.borrow_mut().get(lang).map(|v| *v) +} + +fn main() { + if let [_, lang, code] = args().collect::<Vec<String>>().as_slice() { + let mut highlighter = Highlighter::new(); + let configs = RefCell::new(HashMap::new()); + + let config = get_config(lang, &configs).unwrap(); + + let events = highlighter + .highlight(&config, code.as_bytes(), None, |v| { + let lang = String::from(v).leak(); + get_config(lang, &configs) + }) + .unwrap(); + + let mut renderer = HtmlRenderer::new(); + renderer.render(events, code.as_bytes(), &|highlight, output| { + output.extend(b"class=\""); + let mut parts = HIGHLIGHTS[highlight.0].split('.').peekable(); + while let Some(part) = parts.next() { + output.extend(part.as_bytes()); + if parts.peek().is_some() { + output.extend(b" "); + } + } + output.extend(b"\""); + }).unwrap(); + print!("{}", String::from_utf8(renderer.html).unwrap()) + } else { + panic!("Need <lang> <code> as arguments") + } +} diff --git a/src/parsers.rs b/src/parsers.rs new file mode 100644 index 0000000..f8eef0e --- /dev/null +++ b/src/parsers.rs @@ -0,0 +1,4273 @@ +use std::{ + collections::HashMap, + sync::LazyLock, +}; + +pub struct Parser { + pub url: &'static str, + pub branch: Option<&'static str>, + pub revision: Option<&'static str>, + pub files: &'static [&'static str], + pub generate_requires_npm: bool, + pub requires_generate_from_grammar: bool, + pub location: Option<&'static str>, + pub use_makefile: bool, + pub cxx_standard: Option<&'static str>, +} + +include!(concat!(env!("OUT_DIR"), "/_parsers.rs")); + +// pub static ALIASES: LazyLock<HashMap<&'static str, &'static str>> = LazyLock::new(|| { +// HashMap::from([ +// ("automake", "make"), +// ("javascriptreact", "javascript"), +// ("ecma", "javascript"), +// ("jsx", "javascript"), +// ("gyp", "python"), +// ("html_tags", "html"), +// ("typescript.tsx", "tsx"), +// ("terraform-vars", "terraform"), +// ("html.handlebars", "glimmer"), +// ("systemverilog", "verilog"), +// ("dosini", "ini"), +// ("confini", "ini"), +// ("svg", "xml"), +// ("xsd", "xml"), +// ("xslt", "xml"), +// ("expect", "tcl"), +// ("mysql", "sql"), +// ("sbt", "scala"), +// ("neomuttrc", "muttrc"), +// ("clientscript", "runescript"), +// ("rs", "rust"), +// ("ex", "elixir"), +// ("js", "javascript"), +// ("ts", "typescript"), +// ("c-sharp", "csharp"), +// ("hs", "haskell"), +// ("py", "python"), +// ("erl", "erlang"), +// ("typ", "typst"), +// ("pl", "perl"), +// ("uxn", "uxntal"), +// ]) +// }); +// +// pub static PARSERS: LazyLock<HashMap<&'static str, Parser>> = LazyLock::new(|| { +// HashMap::from([ +// ( +// "ada", +// Parser { +// url: "https://github.com/briot/tree-sitter-ada", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "agda", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-agda", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "angular", +// Parser { +// url: "https://github.com/dlvandenberg/tree-sitter-angular", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "apex", +// Parser { +// url: "https://github.com/aheber/tree-sitter-sfapex", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("apex"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "arduino", +// Parser { +// url: "https://github.com/ObserverOfTime/tree-sitter-arduino", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "asm", +// Parser { +// url: "https://github.com/RubixDev/tree-sitter-asm", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "astro", +// Parser { +// url: "https://github.com/virchau13/tree-sitter-astro", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "authzed", +// Parser { +// url: "https://github.com/mleonidas/tree-sitter-authzed", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "awk", +// Parser { +// url: "https://github.com/Beaglefoot/tree-sitter-awk", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "bash", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-bash", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "bass", +// Parser { +// url: "https://github.com/vito/tree-sitter-bass", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "beancount", +// Parser { +// url: "https://github.com/polarmutex/tree-sitter-beancount", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "bibtex", +// Parser { +// url: "https://github.com/latex-lsp/tree-sitter-bibtex", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "bicep", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-bicep", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "bitbake", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-bitbake", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "blade", +// Parser { +// url: "https://github.com/EmranMR/tree-sitter-blade", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "blueprint", +// Parser { +// url: "https://gitlab.com/gabmus/tree-sitter-blueprint.git", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "bp", +// Parser { +// url: "https://github.com/ambroisie/tree-sitter-bp", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "brightscript", +// Parser { +// url: "https://github.com/ajdelcimmuto/tree-sitter-brightscript", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "c", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-c", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "caddy", +// Parser { +// url: "https://github.com/opa-oz/tree-sitter-caddy", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "cairo", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-cairo", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "capnp", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-capnp", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "chatito", +// Parser { +// url: "https://github.com/ObserverOfTime/tree-sitter-chatito", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "circom", +// Parser { +// url: "https://github.com/Decurity/tree-sitter-circom", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "clojure", +// Parser { +// url: "https://github.com/sogaiu/tree-sitter-clojure", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "cmake", +// Parser { +// url: "https://github.com/uyha/tree-sitter-cmake", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "comment", +// Parser { +// url: "https://github.com/stsewd/tree-sitter-comment", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "commonlisp", +// Parser { +// url: "https://github.com/theHamsta/tree-sitter-commonlisp", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "cooklang", +// Parser { +// url: "https://github.com/addcninblue/tree-sitter-cooklang", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "corn", +// Parser { +// url: "https://github.com/jakestanger/tree-sitter-corn", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "cpon", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-cpon", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "cpp", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-cpp", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "css", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-css", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "csv", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-csv", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("csv"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "cuda", +// Parser { +// url: "https://github.com/theHamsta/tree-sitter-cuda", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "cue", +// Parser { +// url: "https://github.com/eonpatapon/tree-sitter-cue", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "cylc", +// Parser { +// url: "https://github.com/elliotfontaine/tree-sitter-cylc", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "d", +// Parser { +// url: "https://github.com/gdamore/tree-sitter-d", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "dart", +// Parser { +// url: "https://github.com/UserNobody14/tree-sitter-dart", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "desktop", +// Parser { +// url: "https://github.com/ValdezFOmar/tree-sitter-desktop", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "devicetree", +// Parser { +// url: "https://github.com/joelspadin/tree-sitter-devicetree", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "dhall", +// Parser { +// url: "https://github.com/jbellerb/tree-sitter-dhall", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "diff", +// Parser { +// url: "https://github.com/the-mikedavis/tree-sitter-diff", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "disassembly", +// Parser { +// url: "https://github.com/ColinKennedy/tree-sitter-disassembly", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "djot", +// Parser { +// url: "https://github.com/treeman/tree-sitter-djot", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "dockerfile", +// Parser { +// url: "https://github.com/camdencheek/tree-sitter-dockerfile", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "dot", +// Parser { +// url: "https://github.com/rydesun/tree-sitter-dot", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "doxygen", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-doxygen", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "dtd", +// Parser { +// url: "https://github.com/tree-sitter-grammars/tree-sitter-xml", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("dtd"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "earthfile", +// Parser { +// url: "https://github.com/glehmann/tree-sitter-earthfile", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ebnf", +// Parser { +// url: "https://github.com/RubixDev/ebnf", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("crates/tree-sitter-ebnf"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "editorconfig", +// Parser { +// url: "https://github.com/ValdezFOmar/tree-sitter-editorconfig", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "eds", +// Parser { +// url: "https://github.com/uyha/tree-sitter-eds", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "eex", +// Parser { +// url: "https://github.com/connorlay/tree-sitter-eex", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "elixir", +// Parser { +// url: "https://github.com/elixir-lang/tree-sitter-elixir", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "elm", +// Parser { +// url: "https://github.com/elm-tooling/tree-sitter-elm", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "elsa", +// Parser { +// url: "https://github.com/glapa-grossklag/tree-sitter-elsa", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "elvish", +// Parser { +// url: "https://github.com/elves/tree-sitter-elvish", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "enforce", +// Parser { +// url: "https://github.com/simonvic/tree-sitter-enforce", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "erlang", +// Parser { +// url: "https://github.com/WhatsApp/tree-sitter-erlang", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "facility", +// Parser { +// url: "https://github.com/FacilityApi/tree-sitter-facility", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "faust", +// Parser { +// url: "https://github.com/khiner/tree-sitter-faust", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "fennel", +// Parser { +// url: "https://github.com/alexmozaidze/tree-sitter-fennel", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "fidl", +// Parser { +// url: "https://github.com/google/tree-sitter-fidl", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "firrtl", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-firrtl", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "fish", +// Parser { +// url: "https://github.com/ram02z/tree-sitter-fish", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "foam", +// Parser { +// url: "https://github.com/FoamScience/tree-sitter-foam", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "forth", +// Parser { +// url: "https://github.com/AlexanderBrevig/tree-sitter-forth", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "fortran", +// Parser { +// url: "https://github.com/stadelmanma/tree-sitter-fortran", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "fsh", +// Parser { +// url: "https://github.com/mgramigna/tree-sitter-fsh", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "fsharp", +// Parser { +// url: "https://github.com/ionide/tree-sitter-fsharp", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("fsharp"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "func", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-func", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "fusion", +// Parser { +// url: "https://gitlab.com/jirgn/tree-sitter-fusion.git", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gap", +// Parser { +// url: "https://github.com/gap-system/tree-sitter-gap", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gaptst", +// Parser { +// url: "https://github.com/gap-system/tree-sitter-gaptst", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gdscript", +// Parser { +// url: "https://github.com/PrestonKnopp/tree-sitter-gdscript", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gdshader", +// Parser { +// url: "https://github.com/GodOfAvacyn/tree-sitter-gdshader", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gitattributes", +// Parser { +// url: "https://github.com/ObserverOfTime/tree-sitter-gitattributes", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gitcommit", +// Parser { +// url: "https://github.com/gbprod/tree-sitter-gitcommit", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gitignore", +// Parser { +// url: "https://github.com/shunsambongi/tree-sitter-gitignore", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gleam", +// Parser { +// url: "https://github.com/gleam-lang/tree-sitter-gleam", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "glimmer", +// Parser { +// url: "https://github.com/ember-tooling/tree-sitter-glimmer", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "glsl", +// Parser { +// url: "https://github.com/theHamsta/tree-sitter-glsl", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gn", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-gn", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gnuplot", +// Parser { +// url: "https://github.com/dpezto/tree-sitter-gnuplot", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "go", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-go", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "goctl", +// Parser { +// url: "https://github.com/chaozwn/tree-sitter-goctl", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gomod", +// Parser { +// url: "https://github.com/camdencheek/tree-sitter-go-mod", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gosum", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-go-sum", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gowork", +// Parser { +// url: "https://github.com/omertuc/tree-sitter-go-work", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gotmpl", +// Parser { +// url: "https://github.com/ngalaiko/tree-sitter-go-template", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gpg", +// Parser { +// url: "https://github.com/ObserverOfTime/tree-sitter-gpg-config", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gren", +// Parser { +// url: "https://github.com/MaeBrooks/tree-sitter-gren", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "groovy", +// Parser { +// url: "https://github.com/murtaza64/tree-sitter-groovy", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "graphql", +// Parser { +// url: "https://github.com/bkegley/tree-sitter-graphql", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "gstlaunch", +// Parser { +// url: "https://github.com/theHamsta/tree-sitter-gstlaunch", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "hack", +// Parser { +// url: "https://github.com/slackhq/tree-sitter-hack", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "hare", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-hare", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "haskell", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-haskell", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "hcl", +// Parser { +// url: "https://github.com/MichaHoffmann/tree-sitter-hcl", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "heex", +// Parser { +// url: "https://github.com/connorlay/tree-sitter-heex", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "helm", +// Parser { +// url: "https://github.com/ngalaiko/tree-sitter-go-template", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("dialects/helm"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "hjson", +// Parser { +// url: "https://github.com/winston0410/tree-sitter-hjson", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "hlsl", +// Parser { +// url: "https://github.com/theHamsta/tree-sitter-hlsl", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "hocon", +// Parser { +// url: "https://github.com/antosha417/tree-sitter-hocon", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "hoon", +// Parser { +// url: "https://github.com/urbit-pilled/tree-sitter-hoon", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "html", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-html", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "htmldjango", +// Parser { +// url: "https://github.com/interdependence/tree-sitter-htmldjango", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "http", +// Parser { +// url: "https://github.com/rest-nvim/tree-sitter-http", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "hurl", +// Parser { +// url: "https://github.com/pfeiferj/tree-sitter-hurl", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "hyprlang", +// Parser { +// url: "https://github.com/luckasRanarison/tree-sitter-hyprlang", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "idl", +// Parser { +// url: "https://github.com/cathaysia/tree-sitter-idl", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "idris", +// Parser { +// url: "https://github.com/kayhide/tree-sitter-idris", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ini", +// Parser { +// url: "https://github.com/justinmk/tree-sitter-ini", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "inko", +// Parser { +// url: "https://github.com/inko-lang/tree-sitter-inko", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ipkg", +// Parser { +// url: "https://github.com/srghma/tree-sitter-ipkg", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ispc", +// Parser { +// url: "https://github.com/fab4100/tree-sitter-ispc", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "java", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-java", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "javadoc", +// Parser { +// url: "https://github.com/rmuir/tree-sitter-javadoc", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "javascript", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-javascript", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "jinja", +// Parser { +// url: "https://github.com/cathaysia/tree-sitter-jinja", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("tree-sitter-jinja"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "jq", +// Parser { +// url: "https://github.com/flurie/tree-sitter-jq", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "jsdoc", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-jsdoc", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "json", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-json", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "json5", +// Parser { +// url: "https://github.com/Joakker/tree-sitter-json5", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "jsonc", +// Parser { +// url: "https://gitlab.com/WhyNotHugo/tree-sitter-jsonc.git", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "jsonnet", +// Parser { +// url: "https://github.com/sourcegraph/tree-sitter-jsonnet", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "julia", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-julia", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "just", +// Parser { +// url: "https://github.com/IndianBoy42/tree-sitter-just", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "kcl", +// Parser { +// url: "https://github.com/kcl-lang/tree-sitter-kcl", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "kconfig", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-kconfig", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "kdl", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-kdl", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "kotlin", +// Parser { +// url: "https://github.com/fwcd/tree-sitter-kotlin", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "koto", +// Parser { +// url: "https://github.com/koto-lang/tree-sitter-koto", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "kusto", +// Parser { +// url: "https://github.com/Willem-J-an/tree-sitter-kusto", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "lalrpop", +// Parser { +// url: "https://github.com/traxys/tree-sitter-lalrpop", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "latex", +// Parser { +// url: "https://github.com/latex-lsp/tree-sitter-latex", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: true, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ledger", +// Parser { +// url: "https://github.com/cbarrete/tree-sitter-ledger", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "leo", +// Parser { +// url: "https://github.com/r001/tree-sitter-leo", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "llvm", +// Parser { +// url: "https://github.com/benwilliamgraham/tree-sitter-llvm", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "linkerscript", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-linkerscript", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "liquid", +// Parser { +// url: "https://github.com/hankthetank27/tree-sitter-liquid", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "liquidsoap", +// Parser { +// url: "https://github.com/savonet/tree-sitter-liquidsoap", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "lua", +// Parser { +// url: "https://github.com/MunifTanjim/tree-sitter-lua", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "luadoc", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-luadoc", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "luap", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-luap", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "luau", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-luau", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "hlsplaylist", +// Parser { +// url: "https://github.com/Freed-Wu/tree-sitter-hlsplaylist", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "m68k", +// Parser { +// url: "https://github.com/grahambates/tree-sitter-m68k", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "make", +// Parser { +// url: "https://github.com/alemuller/tree-sitter-make", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "markdown", +// Parser { +// url: "https://github.com/MDeiml/tree-sitter-markdown", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("tree-sitter-markdown"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "matlab", +// Parser { +// url: "https://github.com/acristoffers/tree-sitter-matlab", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "menhir", +// Parser { +// url: "https://github.com/Kerl13/tree-sitter-menhir", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "mermaid", +// Parser { +// url: "https://github.com/monaqa/tree-sitter-mermaid", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "meson", +// Parser { +// url: "https://github.com/Decodetalkers/tree-sitter-meson", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "mlir", +// Parser { +// url: "https://github.com/artagnon/tree-sitter-mlir", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: true, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "muttrc", +// Parser { +// url: "https://github.com/neomutt/tree-sitter-muttrc", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "nasm", +// Parser { +// url: "https://github.com/naclsn/tree-sitter-nasm", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "nginx", +// Parser { +// url: "https://github.com/opa-oz/tree-sitter-nginx", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "nickel", +// Parser { +// url: "https://github.com/nickel-lang/tree-sitter-nickel", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "nim", +// Parser { +// url: "https://github.com/alaviss/tree-sitter-nim", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ninja", +// Parser { +// url: "https://github.com/alemuller/tree-sitter-ninja", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "nix", +// Parser { +// url: "https://github.com/cstrahan/tree-sitter-nix", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "norg", +// Parser { +// url: "https://github.com/nvim-neorg/tree-sitter-norg", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.cc"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: true, +// cxx_standard: Some("c++14"), +// }, +// ), +// ( +// "nqc", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-nqc", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "nu", +// Parser { +// url: "https://github.com/nushell/tree-sitter-nu", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "objc", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-objc", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "objdump", +// Parser { +// url: "https://github.com/ColinKennedy/tree-sitter-objdump", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ocaml", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-ocaml", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("grammars/ocaml"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ocamllex", +// Parser { +// url: "https://github.com/atom-ocaml/tree-sitter-ocamllex", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: true, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "odin", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-odin", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "pascal", +// Parser { +// url: "https://github.com/Isopod/tree-sitter-pascal", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "passwd", +// Parser { +// url: "https://github.com/ath3/tree-sitter-passwd", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "pem", +// Parser { +// url: "https://github.com/ObserverOfTime/tree-sitter-pem", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "perl", +// Parser { +// url: "https://github.com/tree-sitter-perl/tree-sitter-perl", +// branch: Some("release"), +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "php", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-php", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("php"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "phpdoc", +// Parser { +// url: "https://github.com/claytonrcarter/tree-sitter-phpdoc", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "pioasm", +// Parser { +// url: "https://github.com/leo60228/tree-sitter-pioasm", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "po", +// Parser { +// url: "https://github.com/erasin/tree-sitter-po", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "pod", +// Parser { +// url: "https://github.com/tree-sitter-perl/tree-sitter-pod", +// branch: Some("release"), +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "pony", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-pony", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "powershell", +// Parser { +// url: "https://github.com/airbus-cert/tree-sitter-powershell", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "printf", +// Parser { +// url: "https://github.com/ObserverOfTime/tree-sitter-printf", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "prisma", +// Parser { +// url: "https://github.com/victorhqc/tree-sitter-prisma", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "problog", +// Parser { +// url: "https://github.com/foxyseta/tree-sitter-prolog", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("grammars/problog"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "prolog", +// Parser { +// url: "https://github.com/foxyseta/tree-sitter-prolog", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("grammars/prolog"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "promql", +// Parser { +// url: "https://github.com/MichaHoffmann/tree-sitter-promql", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "properties", +// Parser { +// url: "https://github.com/tree-sitter-grammars/tree-sitter-properties", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "proto", +// Parser { +// url: "https://github.com/treywood/tree-sitter-proto", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "prql", +// Parser { +// url: "https://github.com/PRQL/tree-sitter-prql", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "psv", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-csv", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("psv"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "pug", +// Parser { +// url: "https://github.com/zealot128/tree-sitter-pug", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "puppet", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-puppet", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "purescript", +// Parser { +// url: "https://github.com/postsolar/tree-sitter-purescript", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "pymanifest", +// Parser { +// url: "https://github.com/ObserverOfTime/tree-sitter-pymanifest", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "python", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-python", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ql", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-ql", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "qmldir", +// Parser { +// url: "https://github.com/Decodetalkers/tree-sitter-qmldir", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "qmljs", +// Parser { +// url: "https://github.com/yuja/tree-sitter-qmljs", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "query", +// Parser { +// url: "https://github.com/nvim-treesitter/tree-sitter-query", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "r", +// Parser { +// url: "https://github.com/r-lib/tree-sitter-r", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "racket", +// Parser { +// url: "https://github.com/6cdh/tree-sitter-racket", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ralph", +// Parser { +// url: "https://github.com/alephium/tree-sitter-ralph", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "rasi", +// Parser { +// url: "https://github.com/Fymyte/tree-sitter-rasi", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "razor", +// Parser { +// url: "https://github.com/tris203/tree-sitter-razor", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "rbs", +// Parser { +// url: "https://github.com/joker1007/tree-sitter-rbs", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "re2c", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-re2c", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "readline", +// Parser { +// url: "https://github.com/ribru17/tree-sitter-readline", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "regex", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-regex", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "rego", +// Parser { +// url: "https://github.com/FallenAngel97/tree-sitter-rego", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "requirements", +// Parser { +// url: "https://github.com/ObserverOfTime/tree-sitter-requirements", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "rescript", +// Parser { +// url: "https://github.com/rescript-lang/tree-sitter-rescript", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "rnoweb", +// Parser { +// url: "https://github.com/bamonroe/tree-sitter-rnoweb", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "robot", +// Parser { +// url: "https://github.com/Hubro/tree-sitter-robot", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "robots", +// Parser { +// url: "https://github.com/opa-oz/tree-sitter-robots-txt", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "roc", +// Parser { +// url: "https://github.com/faldor20/tree-sitter-roc", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ron", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-ron", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "rst", +// Parser { +// url: "https://github.com/stsewd/tree-sitter-rst", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ruby", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-ruby", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "runescript", +// Parser { +// url: "https://github.com/2004Scape/tree-sitter-runescript", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "rust", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-rust", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "scala", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-scala", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "scfg", +// Parser { +// url: "https://github.com/rockorager/tree-sitter-scfg", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: true, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "scheme", +// Parser { +// url: "https://github.com/6cdh/tree-sitter-scheme", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "scss", +// Parser { +// url: "https://github.com/serenadeai/tree-sitter-scss", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "sflog", +// Parser { +// url: "https://github.com/aheber/tree-sitter-sfapex", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("sflog"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "slang", +// Parser { +// url: "https://github.com/theHamsta/tree-sitter-slang", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "slim", +// Parser { +// url: "https://github.com/theoo/tree-sitter-slim", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "slint", +// Parser { +// url: "https://github.com/slint-ui/tree-sitter-slint", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "smali", +// Parser { +// url: "https://github.com/tree-sitter-grammars/tree-sitter-smali", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "snakemake", +// Parser { +// url: "https://github.com/osthomas/tree-sitter-snakemake", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "smithy", +// Parser { +// url: "https://github.com/indoorvivants/tree-sitter-smithy", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "solidity", +// Parser { +// url: "https://github.com/JoranHonig/tree-sitter-solidity", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "soql", +// Parser { +// url: "https://github.com/aheber/tree-sitter-sfapex", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("soql"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "sosl", +// Parser { +// url: "https://github.com/aheber/tree-sitter-sfapex", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("sosl"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "sourcepawn", +// Parser { +// url: "https://github.com/nilshelmig/tree-sitter-sourcepawn", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "sparql", +// Parser { +// url: "https://github.com/GordianDziwis/tree-sitter-sparql", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "sql", +// Parser { +// url: "https://github.com/derekstride/tree-sitter-sql", +// branch: Some("gh-pages"), +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "squirrel", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-squirrel", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "starlark", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-starlark", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "strace", +// Parser { +// url: "https://github.com/sigmaSd/tree-sitter-strace", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "styled", +// Parser { +// url: "https://github.com/mskelton/tree-sitter-styled", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "supercollider", +// Parser { +// url: "https://github.com/madskjeldgaard/tree-sitter-supercollider", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "superhtml", +// Parser { +// url: "https://github.com/kristoff-it/superhtml", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("tree-sitter-superhtml"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "surface", +// Parser { +// url: "https://github.com/connorlay/tree-sitter-surface", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "svelte", +// Parser { +// url: "https://github.com/tree-sitter-grammars/tree-sitter-svelte", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "sway", +// Parser { +// url: "https://github.com/FuelLabs/tree-sitter-sway.git", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "swift", +// Parser { +// url: "https://github.com/alex-pinkus/tree-sitter-swift", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: true, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "sxhkdrc", +// Parser { +// url: "https://github.com/RaafatTurki/tree-sitter-sxhkdrc", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "systemtap", +// Parser { +// url: "https://github.com/ok-ryoko/tree-sitter-systemtap", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "t32", +// Parser { +// url: "https://gitlab.com/xasc/tree-sitter-t32.git", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "tablegen", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-tablegen", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "tact", +// Parser { +// url: "https://github.com/tact-lang/tree-sitter-tact", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "teal", +// Parser { +// url: "https://github.com/euclidianAce/tree-sitter-teal", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: true, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "tcl", +// Parser { +// url: "https://github.com/tree-sitter-grammars/tree-sitter-tcl", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "tera", +// Parser { +// url: "https://github.com/uncenter/tree-sitter-tera", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "terraform", +// Parser { +// url: "https://github.com/MichaHoffmann/tree-sitter-hcl", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("dialects/terraform"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "textproto", +// Parser { +// url: "https://github.com/PorterAtGoogle/tree-sitter-textproto", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "thrift", +// Parser { +// url: "https://github.com/duskmoon314/tree-sitter-thrift", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "tiger", +// Parser { +// url: "https://github.com/ambroisie/tree-sitter-tiger", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "tlaplus", +// Parser { +// url: "https://github.com/tlaplus-community/tree-sitter-tlaplus", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "tmux", +// Parser { +// url: "https://github.com/Freed-Wu/tree-sitter-tmux", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "todotxt", +// Parser { +// url: "https://github.com/arnarg/tree-sitter-todotxt", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "toml", +// Parser { +// url: "https://github.com/tree-sitter-grammars/tree-sitter-toml", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "tsv", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-csv", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("tsv"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "tsx", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-typescript", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: Some("tsx"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "turtle", +// Parser { +// url: "https://github.com/GordianDziwis/tree-sitter-turtle", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "twig", +// Parser { +// url: "https://github.com/gbprod/tree-sitter-twig", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "typescript", +// Parser { +// url: "https://github.com/tree-sitter/tree-sitter-typescript", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: true, +// requires_generate_from_grammar: false, +// location: Some("typescript"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "typespec", +// Parser { +// url: "https://github.com/happenslol/tree-sitter-typespec", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "typoscript", +// Parser { +// url: "https://github.com/Teddytrombone/tree-sitter-typoscript", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "typst", +// Parser { +// url: "https://github.com/uben0/tree-sitter-typst", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "udev", +// Parser { +// url: "https://github.com/ObserverOfTime/tree-sitter-udev", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ungrammar", +// Parser { +// url: "https://github.com/Philipp-M/tree-sitter-ungrammar", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "unison", +// Parser { +// url: "https://github.com/kylegoetz/tree-sitter-unison", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: true, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "usd", +// Parser { +// url: "https://github.com/ColinKennedy/tree-sitter-usd", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "uxntal", +// Parser { +// url: "https://github.com/amaanq/tree-sitter-uxntal", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "v", +// Parser { +// url: "https://github.com/vlang/v-analyzer", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("tree_sitter_v"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "vala", +// Parser { +// url: "https://github.com/vala-lang/tree-sitter-vala", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "vento", +// Parser { +// url: "https://github.com/ventojs/tree-sitter-vento", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "verilog", +// Parser { +// url: "https://github.com/gmlarumbe/tree-sitter-systemverilog", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "vhdl", +// Parser { +// url: "https://github.com/jpt13653903/tree-sitter-vhdl", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "vhs", +// Parser { +// url: "https://github.com/charmbracelet/tree-sitter-vhs", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "vim", +// Parser { +// url: "https://github.com/neovim/tree-sitter-vim", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "vimdoc", +// Parser { +// url: "https://github.com/neovim/tree-sitter-vimdoc", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "vrl", +// Parser { +// url: "https://github.com/belltoy/tree-sitter-vrl", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "vue", +// Parser { +// url: "https://github.com/tree-sitter-grammars/tree-sitter-vue", +// branch: Some("main"), +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "wgsl", +// Parser { +// url: "https://github.com/szebniok/tree-sitter-wgsl", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "wing", +// Parser { +// url: "https://github.com/winglang/tree-sitter-wing", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "wit", +// Parser { +// url: "https://github.com/liamwh/tree-sitter-wit", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "xcompose", +// Parser { +// url: "https://github.com/ObserverOfTime/tree-sitter-xcompose", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "xml", +// Parser { +// url: "https://github.com/tree-sitter-grammars/tree-sitter-xml", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("xml"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "xresources", +// Parser { +// url: "https://github.com/ValdezFOmar/tree-sitter-xresources", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "yaml", +// Parser { +// url: "https://github.com/tree-sitter-grammars/tree-sitter-yaml", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "yang", +// Parser { +// url: "https://github.com/Hubro/tree-sitter-yang", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "yuck", +// Parser { +// url: "https://github.com/Philipp-M/tree-sitter-yuck", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "zathurarc", +// Parser { +// url: "https://github.com/Freed-Wu/tree-sitter-zathurarc", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "zig", +// Parser { +// url: "https://github.com/tree-sitter-grammars/tree-sitter-zig", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "ziggy", +// Parser { +// url: "https://github.com/kristoff-it/ziggy", +// branch: None, +// revision: None, +// files: &["src/parser.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: Some("tree-sitter-ziggy"), +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ( +// "templ", +// Parser { +// url: "https://github.com/vrischmann/tree-sitter-templ", +// branch: None, +// revision: None, +// files: &["src/parser.c", "src/scanner.c"], +// generate_requires_npm: false, +// requires_generate_from_grammar: false, +// location: None, +// use_makefile: false, +// cxx_standard: None, +// }, +// ), +// ]) +// }); |
