aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Cargo.lock13
-rw-r--r--Cargo.toml5
-rw-r--r--build.rs63
-rw-r--r--src/main.rs51
-rw-r--r--src/parsers.rs4255
6 files changed, 108 insertions, 4280 deletions
diff --git a/.gitignore b/.gitignore
index ea8c4bf..43a0e3c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/target
+.parsers
diff --git a/Cargo.lock b/Cargo.lock
index e2fb471..78de772 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -288,6 +288,16 @@ dependencies = [
]
[[package]]
+name = "prettyplease"
+version = "0.2.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
+dependencies = [
+ "proc-macro2",
+ "syn",
+]
+
+[[package]]
name = "proc-macro2"
version = "1.0.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -621,6 +631,9 @@ dependencies = [
"dirs",
"html-escape",
"libloading",
+ "prettyplease",
+ "quote",
+ "syn",
"tree-sitter",
"tree-sitter-highlight",
"url",
diff --git a/Cargo.toml b/Cargo.toml
index ccc6bd8..4cbbd6b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -10,3 +10,8 @@ libloading = "0.8.8"
tree-sitter = "0.25.8"
tree-sitter-highlight = "0.25.8"
url = "2.5.7"
+
+[build-dependencies]
+prettyplease = "0.2.37"
+quote = "1.0.40"
+syn = "2.0.106"
diff --git a/build.rs b/build.rs
index a402549..f108056 100644
--- a/build.rs
+++ b/build.rs
@@ -1,7 +1,10 @@
use std::{
env::var,
+ ffi::OsStr,
fs::{
read,
+ read_dir,
+ read_to_string,
write,
},
io::Write,
@@ -15,8 +18,9 @@ use std::{
},
};
+use quote::quote;
+
fn main() {
- println!("test");
println!("cargo::rerun-if-changed=nvim-treesitter/lua/nvim-treesitter/parsers.lua");
println!("cargo::rerun-if-changed=generate_parsers.lua");
let mut child = Command::new("lua")
@@ -45,4 +49,61 @@ fn main() {
output.stdout,
)
.unwrap();
+
+ let query_dirs = read_dir(Path::new("nvim-treesitter/queries"))
+ .expect("Failed to read nvim-treesitter/queries")
+ .filter_map(|entry| {
+ let path = entry.unwrap().path();
+ path.is_dir().then_some(path)
+ })
+ .collect::<Vec<PathBuf>>();
+
+ let queries = query_dirs
+ .iter()
+ .filter_map(|path| {
+ read_dir(path)
+ .map(|entries| {
+ (
+ path.file_name().unwrap().to_str().unwrap(),
+ entries.filter_map(|entry| entry.ok()),
+ )
+ })
+ .ok()
+ })
+ .map(|(lang, entries)| {
+ let entries = entries.filter_map(|entry| {
+ let path = entry.path();
+ match path.file_stem().map(OsStr::to_str).flatten() {
+ Some(stem @ ("highlights" | "injections" | "locals")) => {
+ let content =
+ read_to_string(&path).expect("Query file should be valid UTF-8");
+ Some(quote! {
+ (#stem, #content)
+ })
+ }
+ _ => None,
+ }
+ });
+ quote! {
+ (#lang, HashMap::from([
+ #(#entries),*
+ ]))
+ }
+ });
+
+ let code = quote! {
+ pub static QUERIES: LazyLock<HashMap<&'static str, HashMap<&'static str, &'static str>>> = LazyLock::new(|| {
+ HashMap::from([
+ #(#queries),*
+ ])
+ });
+ };
+ let tree = &syn::parse2(code).unwrap();
+ let formatted = prettyplease::unparse(tree);
+
+ write(
+ PathBuf::from(format!("{}/_queries.rs", var("OUT_DIR").unwrap())),
+ formatted,
+ )
+ .unwrap();
}
diff --git a/src/main.rs b/src/main.rs
index 31bd882..0fe5c93 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -3,17 +3,13 @@ mod parsers;
use core::str;
use std::{
- cell::RefCell,
- collections::HashMap,
- env::{
+ cell::RefCell, collections::HashMap, env::{
args,
current_dir,
- },
- fs::{
+ }, fs::{
create_dir,
read,
- },
- process::Command,
+ }, ops::Deref, process::Command
};
use dirs::cache_dir;
@@ -22,6 +18,7 @@ use libloading::Library;
use parsers::{
ALIASES,
PARSERS,
+ QUERIES,
};
use tree_sitter::Language;
use tree_sitter_highlight::{
@@ -43,11 +40,6 @@ fn get_config<'a>(
let mut cache_dir = cache_dir().expect("Cache directory should be available");
cache_dir.push("yah");
- let mut query_dir = current_dir().expect("Current directory should be available");
- query_dir.push("nvim-treesitter");
- query_dir.push("queries");
- query_dir.push(lang);
-
let mut parsers_dir = current_dir().expect("Current directory should be available");
parsers_dir.push(".parsers");
if !parsers_dir.exists() {
@@ -133,18 +125,24 @@ fn get_config<'a>(
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(),
+ QUERIES
+ .get(lang)
+ .unwrap()
+ .get("highlights")
+ .map(Deref::deref)
+ .unwrap_or(""),
+ QUERIES
+ .get(lang)
+ .unwrap()
+ .get("injections")
+ .map(Deref::deref)
+ .unwrap_or(""),
+ QUERIES
+ .get(lang)
+ .unwrap()
+ .get("locals")
+ .map(Deref::deref)
+ .unwrap_or(""),
)
.unwrap();
config.configure(HIGHLIGHTS);
@@ -188,7 +186,10 @@ fn main() {
output.extend(b"\"");
})
.unwrap();
- print!("{}", String::from_utf8(renderer.html).expect("`renderer.html` should contain valid UTF-8"))
+ print!(
+ "{}",
+ String::from_utf8(renderer.html).expect("`renderer.html` should contain valid UTF-8")
+ )
} else {
panic!(
"Need <lang> <code_path> as arguments, got {:?}",
diff --git a/src/parsers.rs b/src/parsers.rs
index f8eef0e..83be880 100644
--- a/src/parsers.rs
+++ b/src/parsers.rs
@@ -17,4257 +17,4 @@ pub struct Parser {
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,
-// },
-// ),
-// ])
-// });
+include!(concat!(env!("OUT_DIR"), "/_queries.rs"));