Source file tm_grammars.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
let abap = Tm_grammar_abap.json
let actionscript_3 = Tm_grammar_actionscript_3.json
let ada = Tm_grammar_ada.json
let angular_expression = Tm_grammar_angular_expression.json
let angular_html = Tm_grammar_angular_html.json
let angular_inline_style = Tm_grammar_angular_inline_style.json
let angular_inline_template = Tm_grammar_angular_inline_template.json
let angular_let_declaration = Tm_grammar_angular_let_declaration.json
let angular_template = Tm_grammar_angular_template.json
let angular_template_blocks = Tm_grammar_angular_template_blocks.json
let angular_ts = Tm_grammar_angular_ts.json
let apache = Tm_grammar_apache.json
let apex = Tm_grammar_apex.json
let apl = Tm_grammar_apl.json
let applescript = Tm_grammar_applescript.json
let ara = Tm_grammar_ara.json
let asciidoc = Tm_grammar_asciidoc.json
let asm = Tm_grammar_asm.json
let astro = Tm_grammar_astro.json
let awk = Tm_grammar_awk.json
let ballerina = Tm_grammar_ballerina.json
let bat = Tm_grammar_bat.json
let beancount = Tm_grammar_beancount.json
let berry = Tm_grammar_berry.json
let bibtex = Tm_grammar_bibtex.json
let bicep = Tm_grammar_bicep.json
let bird2 = Tm_grammar_bird2.json
let blade = Tm_grammar_blade.json
let bsl = Tm_grammar_bsl.json
let c = Tm_grammar_c.json
let c3 = Tm_grammar_c3.json
let cadence = Tm_grammar_cadence.json
let cairo = Tm_grammar_cairo.json
let clarity = Tm_grammar_clarity.json
let clojure = Tm_grammar_clojure.json
let cmake = Tm_grammar_cmake.json
let cobol = Tm_grammar_cobol.json
let codeowners = Tm_grammar_codeowners.json
let codeql = Tm_grammar_codeql.json
let coffee = Tm_grammar_coffee.json
let common_lisp = Tm_grammar_common_lisp.json
let coq = Tm_grammar_coq.json
let cpp = Tm_grammar_cpp.json
let cpp_macro = Tm_grammar_cpp_macro.json
let cram = Tm_grammar_cram.json
let crystal = Tm_grammar_crystal.json
let csharp = Tm_grammar_csharp.json
let css = Tm_grammar_css.json
let csv = Tm_grammar_csv.json
let cue = Tm_grammar_cue.json
let cypher = Tm_grammar_cypher.json
let d = Tm_grammar_d.json
let dart = Tm_grammar_dart.json
let dax = Tm_grammar_dax.json
let desktop = Tm_grammar_desktop.json
let diff = Tm_grammar_diff.json
let dockerfile = Tm_grammar_dockerfile.json
let dotenv = Tm_grammar_dotenv.json
let dream_maker = Tm_grammar_dream_maker.json
let dune = Tm_grammar_dune.json
let edge = Tm_grammar_edge.json
let elixir = Tm_grammar_elixir.json
let elm = Tm_grammar_elm.json
let emacs_lisp = Tm_grammar_emacs_lisp.json
let erb = Tm_grammar_erb.json
let erlang = Tm_grammar_erlang.json
let es_tag_css = Tm_grammar_es_tag_css.json
let es_tag_glsl = Tm_grammar_es_tag_glsl.json
let es_tag_html = Tm_grammar_es_tag_html.json
let es_tag_sql = Tm_grammar_es_tag_sql.json
let es_tag_xml = Tm_grammar_es_tag_xml.json
let fennel = Tm_grammar_fennel.json
let fish = Tm_grammar_fish.json
let fluent = Tm_grammar_fluent.json
let fortran_fixed_form = Tm_grammar_fortran_fixed_form.json
let fortran_free_form = Tm_grammar_fortran_free_form.json
let fsharp = Tm_grammar_fsharp.json
let gdresource = Tm_grammar_gdresource.json
let gdscript = Tm_grammar_gdscript.json
let gdshader = Tm_grammar_gdshader.json
let genie = Tm_grammar_genie.json
let gherkin = Tm_grammar_gherkin.json
let git_commit = Tm_grammar_git_commit.json
let git_rebase = Tm_grammar_git_rebase.json
let gleam = Tm_grammar_gleam.json
let glimmer_js = Tm_grammar_glimmer_js.json
let glimmer_ts = Tm_grammar_glimmer_ts.json
let glsl = Tm_grammar_glsl.json
let gn = Tm_grammar_gn.json
let gnuplot = Tm_grammar_gnuplot.json
let go = Tm_grammar_go.json
let graphql = Tm_grammar_graphql.json
let groovy = Tm_grammar_groovy.json
let hack = Tm_grammar_hack.json
let haml = Tm_grammar_haml.json
let handlebars = Tm_grammar_handlebars.json
let haskell = Tm_grammar_haskell.json
let haxe = Tm_grammar_haxe.json
let hcl = Tm_grammar_hcl.json
let hjson = Tm_grammar_hjson.json
let hlsl = Tm_grammar_hlsl.json
let html = Tm_grammar_html.json
let html_derivative = Tm_grammar_html_derivative.json
let http = Tm_grammar_http.json
let hurl = Tm_grammar_hurl.json
let hxml = Tm_grammar_hxml.json
let hy = Tm_grammar_hy.json
let imba = Tm_grammar_imba.json
let ini = Tm_grammar_ini.json
let java = Tm_grammar_java.json
let javascript = Tm_grammar_javascript.json
let jinja = Tm_grammar_jinja.json
let jinja_html = Tm_grammar_jinja_html.json
let jison = Tm_grammar_jison.json
let json = Tm_grammar_json.json
let json5 = Tm_grammar_json5.json
let jsonc = Tm_grammar_jsonc.json
let jsonl = Tm_grammar_jsonl.json
let jsonnet = Tm_grammar_jsonnet.json
let jssm = Tm_grammar_jssm.json
let jsx = Tm_grammar_jsx.json
let julia = Tm_grammar_julia.json
let just = Tm_grammar_just.json
let kdl = Tm_grammar_kdl.json
let kotlin = Tm_grammar_kotlin.json
let kusto = Tm_grammar_kusto.json
let latex = Tm_grammar_latex.json
let lean = Tm_grammar_lean.json
let less = Tm_grammar_less.json
let liquid = Tm_grammar_liquid.json
let llvm = Tm_grammar_llvm.json
let log = Tm_grammar_log.json
let  = Tm_grammar_logo.json
let lua = Tm_grammar_lua.json
let luau = Tm_grammar_luau.json
let makefile = Tm_grammar_makefile.json
let markdown = Tm_grammar_markdown.json
let markdown_nix = Tm_grammar_markdown_nix.json
let markdown_vue = Tm_grammar_markdown_vue.json
let marko = Tm_grammar_marko.json
let matlab = Tm_grammar_matlab.json
let mdc = Tm_grammar_mdc.json
let mdx = Tm_grammar_mdx.json
let menhir = Tm_grammar_menhir.json
let mermaid = Tm_grammar_mermaid.json
let mipsasm = Tm_grammar_mipsasm.json
let mlx = Tm_grammar_mlx.json
let mojo = Tm_grammar_mojo.json
let moonbit = Tm_grammar_moonbit.json
let move = Tm_grammar_move.json
let narrat = Tm_grammar_narrat.json
let nextflow = Tm_grammar_nextflow.json
let nextflow_groovy = Tm_grammar_nextflow_groovy.json
let nginx = Tm_grammar_nginx.json
let nim = Tm_grammar_nim.json
let nix = Tm_grammar_nix.json
let nushell = Tm_grammar_nushell.json
let objective_c = Tm_grammar_objective_c.json
let objective_cpp = Tm_grammar_objective_cpp.json
let ocaml = Tm_grammar_ocaml.json
let ocamllex = Tm_grammar_ocamllex.json
let odin = Tm_grammar_odin.json
let opam = Tm_grammar_opam.json
let openscad = Tm_grammar_openscad.json
let pascal = Tm_grammar_pascal.json
let perl = Tm_grammar_perl.json
let php = Tm_grammar_php.json
let pkl = Tm_grammar_pkl.json
let plsql = Tm_grammar_plsql.json
let po = Tm_grammar_po.json
let polar = Tm_grammar_polar.json
let postcss = Tm_grammar_postcss.json
let powerquery = Tm_grammar_powerquery.json
let powershell = Tm_grammar_powershell.json
let prisma = Tm_grammar_prisma.json
let prolog = Tm_grammar_prolog.json
let proto = Tm_grammar_proto.json
let pug = Tm_grammar_pug.json
let puppet = Tm_grammar_puppet.json
let purescript = Tm_grammar_purescript.json
let python = Tm_grammar_python.json
let qml = Tm_grammar_qml.json
let qmldir = Tm_grammar_qmldir.json
let qss = Tm_grammar_qss.json
let r = Tm_grammar_r.json
let racket = Tm_grammar_racket.json
let raku = Tm_grammar_raku.json
let razor = Tm_grammar_razor.json
let reason = Tm_grammar_reason.json
let reg = Tm_grammar_reg.json
let regexp = Tm_grammar_regexp.json
let rel = Tm_grammar_rel.json
let riscv = Tm_grammar_riscv.json
let ron = Tm_grammar_ron.json
let rosmsg = Tm_grammar_rosmsg.json
let rst = Tm_grammar_rst.json
let ruby = Tm_grammar_ruby.json
let rust = Tm_grammar_rust.json
let sas = Tm_grammar_sas.json
let sass = Tm_grammar_sass.json
let scala = Tm_grammar_scala.json
let scheme = Tm_grammar_scheme.json
let scss = Tm_grammar_scss.json
let sdbl = Tm_grammar_sdbl.json
let shaderlab = Tm_grammar_shaderlab.json
let shellscript = Tm_grammar_shellscript.json
let shellsession = Tm_grammar_shellsession.json
let smalltalk = Tm_grammar_smalltalk.json
let solidity = Tm_grammar_solidity.json
let soy = Tm_grammar_soy.json
let sparql = Tm_grammar_sparql.json
let splunk = Tm_grammar_splunk.json
let sql = Tm_grammar_sql.json
let ssh_config = Tm_grammar_ssh_config.json
let stata = Tm_grammar_stata.json
let stylus = Tm_grammar_stylus.json
let surrealql = Tm_grammar_surrealql.json
let svelte = Tm_grammar_svelte.json
let swift = Tm_grammar_swift.json
let system_verilog = Tm_grammar_system_verilog.json
let systemd = Tm_grammar_systemd.json
let talonscript = Tm_grammar_talonscript.json
let tasl = Tm_grammar_tasl.json
let tcl = Tm_grammar_tcl.json
let templ = Tm_grammar_templ.json
let terraform = Tm_grammar_terraform.json
let tex = Tm_grammar_tex.json
let toml = Tm_grammar_toml.json
let ts_tags = Tm_grammar_ts_tags.json
let tsv = Tm_grammar_tsv.json
let tsx = Tm_grammar_tsx.json
let turtle = Tm_grammar_turtle.json
let twig = Tm_grammar_twig.json
let typescript = Tm_grammar_typescript.json
let typespec = Tm_grammar_typespec.json
let typst = Tm_grammar_typst.json
let v = Tm_grammar_v.json
let vala = Tm_grammar_vala.json
let vb = Tm_grammar_vb.json
let verilog = Tm_grammar_verilog.json
let vhdl = Tm_grammar_vhdl.json
let viml = Tm_grammar_viml.json
let vue = Tm_grammar_vue.json
let vue_directives = Tm_grammar_vue_directives.json
let vue_html = Tm_grammar_vue_html.json
let vue_interpolations = Tm_grammar_vue_interpolations.json

let vue_sfc_style_variable_injection =
  Tm_grammar_vue_sfc_style_variable_injection.json

let vue_vine = Tm_grammar_vue_vine.json
let vyper = Tm_grammar_vyper.json
let wasm = Tm_grammar_wasm.json
let wenyan = Tm_grammar_wenyan.json
let wgsl = Tm_grammar_wgsl.json
let wikitext = Tm_grammar_wikitext.json
let wit = Tm_grammar_wit.json
let wolfram = Tm_grammar_wolfram.json
let xml = Tm_grammar_xml.json
let xsl = Tm_grammar_xsl.json
let yaml = Tm_grammar_yaml.json
let zenscript = Tm_grammar_zenscript.json
let zig = Tm_grammar_zig.json

let all =
  [
    (Tm_grammar_abap.lang_id, Tm_grammar_abap.json);
    (Tm_grammar_actionscript_3.lang_id, Tm_grammar_actionscript_3.json);
    (Tm_grammar_ada.lang_id, Tm_grammar_ada.json);
    (Tm_grammar_angular_expression.lang_id, Tm_grammar_angular_expression.json);
    (Tm_grammar_angular_html.lang_id, Tm_grammar_angular_html.json);
    ( Tm_grammar_angular_inline_style.lang_id,
      Tm_grammar_angular_inline_style.json );
    ( Tm_grammar_angular_inline_template.lang_id,
      Tm_grammar_angular_inline_template.json );
    ( Tm_grammar_angular_let_declaration.lang_id,
      Tm_grammar_angular_let_declaration.json );
    (Tm_grammar_angular_template.lang_id, Tm_grammar_angular_template.json);
    ( Tm_grammar_angular_template_blocks.lang_id,
      Tm_grammar_angular_template_blocks.json );
    (Tm_grammar_angular_ts.lang_id, Tm_grammar_angular_ts.json);
    (Tm_grammar_apache.lang_id, Tm_grammar_apache.json);
    (Tm_grammar_apex.lang_id, Tm_grammar_apex.json);
    (Tm_grammar_apl.lang_id, Tm_grammar_apl.json);
    (Tm_grammar_applescript.lang_id, Tm_grammar_applescript.json);
    (Tm_grammar_ara.lang_id, Tm_grammar_ara.json);
    (Tm_grammar_asciidoc.lang_id, Tm_grammar_asciidoc.json);
    (Tm_grammar_asm.lang_id, Tm_grammar_asm.json);
    (Tm_grammar_astro.lang_id, Tm_grammar_astro.json);
    (Tm_grammar_awk.lang_id, Tm_grammar_awk.json);
    (Tm_grammar_ballerina.lang_id, Tm_grammar_ballerina.json);
    (Tm_grammar_bat.lang_id, Tm_grammar_bat.json);
    (Tm_grammar_beancount.lang_id, Tm_grammar_beancount.json);
    (Tm_grammar_berry.lang_id, Tm_grammar_berry.json);
    (Tm_grammar_bibtex.lang_id, Tm_grammar_bibtex.json);
    (Tm_grammar_bicep.lang_id, Tm_grammar_bicep.json);
    (Tm_grammar_bird2.lang_id, Tm_grammar_bird2.json);
    (Tm_grammar_blade.lang_id, Tm_grammar_blade.json);
    (Tm_grammar_bsl.lang_id, Tm_grammar_bsl.json);
    (Tm_grammar_c.lang_id, Tm_grammar_c.json);
    (Tm_grammar_c3.lang_id, Tm_grammar_c3.json);
    (Tm_grammar_cadence.lang_id, Tm_grammar_cadence.json);
    (Tm_grammar_cairo.lang_id, Tm_grammar_cairo.json);
    (Tm_grammar_clarity.lang_id, Tm_grammar_clarity.json);
    (Tm_grammar_clojure.lang_id, Tm_grammar_clojure.json);
    (Tm_grammar_cmake.lang_id, Tm_grammar_cmake.json);
    (Tm_grammar_cobol.lang_id, Tm_grammar_cobol.json);
    (Tm_grammar_codeowners.lang_id, Tm_grammar_codeowners.json);
    (Tm_grammar_codeql.lang_id, Tm_grammar_codeql.json);
    (Tm_grammar_coffee.lang_id, Tm_grammar_coffee.json);
    (Tm_grammar_common_lisp.lang_id, Tm_grammar_common_lisp.json);
    (Tm_grammar_coq.lang_id, Tm_grammar_coq.json);
    (Tm_grammar_cpp.lang_id, Tm_grammar_cpp.json);
    (Tm_grammar_cpp_macro.lang_id, Tm_grammar_cpp_macro.json);
    (Tm_grammar_cram.lang_id, Tm_grammar_cram.json);
    (Tm_grammar_crystal.lang_id, Tm_grammar_crystal.json);
    (Tm_grammar_csharp.lang_id, Tm_grammar_csharp.json);
    (Tm_grammar_css.lang_id, Tm_grammar_css.json);
    (Tm_grammar_csv.lang_id, Tm_grammar_csv.json);
    (Tm_grammar_cue.lang_id, Tm_grammar_cue.json);
    (Tm_grammar_cypher.lang_id, Tm_grammar_cypher.json);
    (Tm_grammar_d.lang_id, Tm_grammar_d.json);
    (Tm_grammar_dart.lang_id, Tm_grammar_dart.json);
    (Tm_grammar_dax.lang_id, Tm_grammar_dax.json);
    (Tm_grammar_desktop.lang_id, Tm_grammar_desktop.json);
    (Tm_grammar_diff.lang_id, Tm_grammar_diff.json);
    (Tm_grammar_dockerfile.lang_id, Tm_grammar_dockerfile.json);
    (Tm_grammar_dotenv.lang_id, Tm_grammar_dotenv.json);
    (Tm_grammar_dream_maker.lang_id, Tm_grammar_dream_maker.json);
    (Tm_grammar_dune.lang_id, Tm_grammar_dune.json);
    (Tm_grammar_edge.lang_id, Tm_grammar_edge.json);
    (Tm_grammar_elixir.lang_id, Tm_grammar_elixir.json);
    (Tm_grammar_elm.lang_id, Tm_grammar_elm.json);
    (Tm_grammar_emacs_lisp.lang_id, Tm_grammar_emacs_lisp.json);
    (Tm_grammar_erb.lang_id, Tm_grammar_erb.json);
    (Tm_grammar_erlang.lang_id, Tm_grammar_erlang.json);
    (Tm_grammar_es_tag_css.lang_id, Tm_grammar_es_tag_css.json);
    (Tm_grammar_es_tag_glsl.lang_id, Tm_grammar_es_tag_glsl.json);
    (Tm_grammar_es_tag_html.lang_id, Tm_grammar_es_tag_html.json);
    (Tm_grammar_es_tag_sql.lang_id, Tm_grammar_es_tag_sql.json);
    (Tm_grammar_es_tag_xml.lang_id, Tm_grammar_es_tag_xml.json);
    (Tm_grammar_fennel.lang_id, Tm_grammar_fennel.json);
    (Tm_grammar_fish.lang_id, Tm_grammar_fish.json);
    (Tm_grammar_fluent.lang_id, Tm_grammar_fluent.json);
    (Tm_grammar_fortran_fixed_form.lang_id, Tm_grammar_fortran_fixed_form.json);
    (Tm_grammar_fortran_free_form.lang_id, Tm_grammar_fortran_free_form.json);
    (Tm_grammar_fsharp.lang_id, Tm_grammar_fsharp.json);
    (Tm_grammar_gdresource.lang_id, Tm_grammar_gdresource.json);
    (Tm_grammar_gdscript.lang_id, Tm_grammar_gdscript.json);
    (Tm_grammar_gdshader.lang_id, Tm_grammar_gdshader.json);
    (Tm_grammar_genie.lang_id, Tm_grammar_genie.json);
    (Tm_grammar_gherkin.lang_id, Tm_grammar_gherkin.json);
    (Tm_grammar_git_commit.lang_id, Tm_grammar_git_commit.json);
    (Tm_grammar_git_rebase.lang_id, Tm_grammar_git_rebase.json);
    (Tm_grammar_gleam.lang_id, Tm_grammar_gleam.json);
    (Tm_grammar_glimmer_js.lang_id, Tm_grammar_glimmer_js.json);
    (Tm_grammar_glimmer_ts.lang_id, Tm_grammar_glimmer_ts.json);
    (Tm_grammar_glsl.lang_id, Tm_grammar_glsl.json);
    (Tm_grammar_gn.lang_id, Tm_grammar_gn.json);
    (Tm_grammar_gnuplot.lang_id, Tm_grammar_gnuplot.json);
    (Tm_grammar_go.lang_id, Tm_grammar_go.json);
    (Tm_grammar_graphql.lang_id, Tm_grammar_graphql.json);
    (Tm_grammar_groovy.lang_id, Tm_grammar_groovy.json);
    (Tm_grammar_hack.lang_id, Tm_grammar_hack.json);
    (Tm_grammar_haml.lang_id, Tm_grammar_haml.json);
    (Tm_grammar_handlebars.lang_id, Tm_grammar_handlebars.json);
    (Tm_grammar_haskell.lang_id, Tm_grammar_haskell.json);
    (Tm_grammar_haxe.lang_id, Tm_grammar_haxe.json);
    (Tm_grammar_hcl.lang_id, Tm_grammar_hcl.json);
    (Tm_grammar_hjson.lang_id, Tm_grammar_hjson.json);
    (Tm_grammar_hlsl.lang_id, Tm_grammar_hlsl.json);
    (Tm_grammar_html.lang_id, Tm_grammar_html.json);
    (Tm_grammar_html_derivative.lang_id, Tm_grammar_html_derivative.json);
    (Tm_grammar_http.lang_id, Tm_grammar_http.json);
    (Tm_grammar_hurl.lang_id, Tm_grammar_hurl.json);
    (Tm_grammar_hxml.lang_id, Tm_grammar_hxml.json);
    (Tm_grammar_hy.lang_id, Tm_grammar_hy.json);
    (Tm_grammar_imba.lang_id, Tm_grammar_imba.json);
    (Tm_grammar_ini.lang_id, Tm_grammar_ini.json);
    (Tm_grammar_java.lang_id, Tm_grammar_java.json);
    (Tm_grammar_javascript.lang_id, Tm_grammar_javascript.json);
    (Tm_grammar_jinja.lang_id, Tm_grammar_jinja.json);
    (Tm_grammar_jinja_html.lang_id, Tm_grammar_jinja_html.json);
    (Tm_grammar_jison.lang_id, Tm_grammar_jison.json);
    (Tm_grammar_json.lang_id, Tm_grammar_json.json);
    (Tm_grammar_json5.lang_id, Tm_grammar_json5.json);
    (Tm_grammar_jsonc.lang_id, Tm_grammar_jsonc.json);
    (Tm_grammar_jsonl.lang_id, Tm_grammar_jsonl.json);
    (Tm_grammar_jsonnet.lang_id, Tm_grammar_jsonnet.json);
    (Tm_grammar_jssm.lang_id, Tm_grammar_jssm.json);
    (Tm_grammar_jsx.lang_id, Tm_grammar_jsx.json);
    (Tm_grammar_julia.lang_id, Tm_grammar_julia.json);
    (Tm_grammar_just.lang_id, Tm_grammar_just.json);
    (Tm_grammar_kdl.lang_id, Tm_grammar_kdl.json);
    (Tm_grammar_kotlin.lang_id, Tm_grammar_kotlin.json);
    (Tm_grammar_kusto.lang_id, Tm_grammar_kusto.json);
    (Tm_grammar_latex.lang_id, Tm_grammar_latex.json);
    (Tm_grammar_lean.lang_id, Tm_grammar_lean.json);
    (Tm_grammar_less.lang_id, Tm_grammar_less.json);
    (Tm_grammar_liquid.lang_id, Tm_grammar_liquid.json);
    (Tm_grammar_llvm.lang_id, Tm_grammar_llvm.json);
    (Tm_grammar_log.lang_id, Tm_grammar_log.json);
    (Tm_grammar_logo.lang_id, Tm_grammar_logo.json);
    (Tm_grammar_lua.lang_id, Tm_grammar_lua.json);
    (Tm_grammar_luau.lang_id, Tm_grammar_luau.json);
    (Tm_grammar_makefile.lang_id, Tm_grammar_makefile.json);
    (Tm_grammar_markdown.lang_id, Tm_grammar_markdown.json);
    (Tm_grammar_markdown_nix.lang_id, Tm_grammar_markdown_nix.json);
    (Tm_grammar_markdown_vue.lang_id, Tm_grammar_markdown_vue.json);
    (Tm_grammar_marko.lang_id, Tm_grammar_marko.json);
    (Tm_grammar_matlab.lang_id, Tm_grammar_matlab.json);
    (Tm_grammar_mdc.lang_id, Tm_grammar_mdc.json);
    (Tm_grammar_mdx.lang_id, Tm_grammar_mdx.json);
    (Tm_grammar_menhir.lang_id, Tm_grammar_menhir.json);
    (Tm_grammar_mermaid.lang_id, Tm_grammar_mermaid.json);
    (Tm_grammar_mipsasm.lang_id, Tm_grammar_mipsasm.json);
    (Tm_grammar_mlx.lang_id, Tm_grammar_mlx.json);
    (Tm_grammar_mojo.lang_id, Tm_grammar_mojo.json);
    (Tm_grammar_moonbit.lang_id, Tm_grammar_moonbit.json);
    (Tm_grammar_move.lang_id, Tm_grammar_move.json);
    (Tm_grammar_narrat.lang_id, Tm_grammar_narrat.json);
    (Tm_grammar_nextflow.lang_id, Tm_grammar_nextflow.json);
    (Tm_grammar_nextflow_groovy.lang_id, Tm_grammar_nextflow_groovy.json);
    (Tm_grammar_nginx.lang_id, Tm_grammar_nginx.json);
    (Tm_grammar_nim.lang_id, Tm_grammar_nim.json);
    (Tm_grammar_nix.lang_id, Tm_grammar_nix.json);
    (Tm_grammar_nushell.lang_id, Tm_grammar_nushell.json);
    (Tm_grammar_objective_c.lang_id, Tm_grammar_objective_c.json);
    (Tm_grammar_objective_cpp.lang_id, Tm_grammar_objective_cpp.json);
    (Tm_grammar_ocaml.lang_id, Tm_grammar_ocaml.json);
    (Tm_grammar_ocamllex.lang_id, Tm_grammar_ocamllex.json);
    (Tm_grammar_odin.lang_id, Tm_grammar_odin.json);
    (Tm_grammar_opam.lang_id, Tm_grammar_opam.json);
    (Tm_grammar_openscad.lang_id, Tm_grammar_openscad.json);
    (Tm_grammar_pascal.lang_id, Tm_grammar_pascal.json);
    (Tm_grammar_perl.lang_id, Tm_grammar_perl.json);
    (Tm_grammar_php.lang_id, Tm_grammar_php.json);
    (Tm_grammar_pkl.lang_id, Tm_grammar_pkl.json);
    (Tm_grammar_plsql.lang_id, Tm_grammar_plsql.json);
    (Tm_grammar_po.lang_id, Tm_grammar_po.json);
    (Tm_grammar_polar.lang_id, Tm_grammar_polar.json);
    (Tm_grammar_postcss.lang_id, Tm_grammar_postcss.json);
    (Tm_grammar_powerquery.lang_id, Tm_grammar_powerquery.json);
    (Tm_grammar_powershell.lang_id, Tm_grammar_powershell.json);
    (Tm_grammar_prisma.lang_id, Tm_grammar_prisma.json);
    (Tm_grammar_prolog.lang_id, Tm_grammar_prolog.json);
    (Tm_grammar_proto.lang_id, Tm_grammar_proto.json);
    (Tm_grammar_pug.lang_id, Tm_grammar_pug.json);
    (Tm_grammar_puppet.lang_id, Tm_grammar_puppet.json);
    (Tm_grammar_purescript.lang_id, Tm_grammar_purescript.json);
    (Tm_grammar_python.lang_id, Tm_grammar_python.json);
    (Tm_grammar_qml.lang_id, Tm_grammar_qml.json);
    (Tm_grammar_qmldir.lang_id, Tm_grammar_qmldir.json);
    (Tm_grammar_qss.lang_id, Tm_grammar_qss.json);
    (Tm_grammar_r.lang_id, Tm_grammar_r.json);
    (Tm_grammar_racket.lang_id, Tm_grammar_racket.json);
    (Tm_grammar_raku.lang_id, Tm_grammar_raku.json);
    (Tm_grammar_razor.lang_id, Tm_grammar_razor.json);
    (Tm_grammar_reason.lang_id, Tm_grammar_reason.json);
    (Tm_grammar_reg.lang_id, Tm_grammar_reg.json);
    (Tm_grammar_regexp.lang_id, Tm_grammar_regexp.json);
    (Tm_grammar_rel.lang_id, Tm_grammar_rel.json);
    (Tm_grammar_riscv.lang_id, Tm_grammar_riscv.json);
    (Tm_grammar_ron.lang_id, Tm_grammar_ron.json);
    (Tm_grammar_rosmsg.lang_id, Tm_grammar_rosmsg.json);
    (Tm_grammar_rst.lang_id, Tm_grammar_rst.json);
    (Tm_grammar_ruby.lang_id, Tm_grammar_ruby.json);
    (Tm_grammar_rust.lang_id, Tm_grammar_rust.json);
    (Tm_grammar_sas.lang_id, Tm_grammar_sas.json);
    (Tm_grammar_sass.lang_id, Tm_grammar_sass.json);
    (Tm_grammar_scala.lang_id, Tm_grammar_scala.json);
    (Tm_grammar_scheme.lang_id, Tm_grammar_scheme.json);
    (Tm_grammar_scss.lang_id, Tm_grammar_scss.json);
    (Tm_grammar_sdbl.lang_id, Tm_grammar_sdbl.json);
    (Tm_grammar_shaderlab.lang_id, Tm_grammar_shaderlab.json);
    (Tm_grammar_shellscript.lang_id, Tm_grammar_shellscript.json);
    (Tm_grammar_shellsession.lang_id, Tm_grammar_shellsession.json);
    (Tm_grammar_smalltalk.lang_id, Tm_grammar_smalltalk.json);
    (Tm_grammar_solidity.lang_id, Tm_grammar_solidity.json);
    (Tm_grammar_soy.lang_id, Tm_grammar_soy.json);
    (Tm_grammar_sparql.lang_id, Tm_grammar_sparql.json);
    (Tm_grammar_splunk.lang_id, Tm_grammar_splunk.json);
    (Tm_grammar_sql.lang_id, Tm_grammar_sql.json);
    (Tm_grammar_ssh_config.lang_id, Tm_grammar_ssh_config.json);
    (Tm_grammar_stata.lang_id, Tm_grammar_stata.json);
    (Tm_grammar_stylus.lang_id, Tm_grammar_stylus.json);
    (Tm_grammar_surrealql.lang_id, Tm_grammar_surrealql.json);
    (Tm_grammar_svelte.lang_id, Tm_grammar_svelte.json);
    (Tm_grammar_swift.lang_id, Tm_grammar_swift.json);
    (Tm_grammar_system_verilog.lang_id, Tm_grammar_system_verilog.json);
    (Tm_grammar_systemd.lang_id, Tm_grammar_systemd.json);
    (Tm_grammar_talonscript.lang_id, Tm_grammar_talonscript.json);
    (Tm_grammar_tasl.lang_id, Tm_grammar_tasl.json);
    (Tm_grammar_tcl.lang_id, Tm_grammar_tcl.json);
    (Tm_grammar_templ.lang_id, Tm_grammar_templ.json);
    (Tm_grammar_terraform.lang_id, Tm_grammar_terraform.json);
    (Tm_grammar_tex.lang_id, Tm_grammar_tex.json);
    (Tm_grammar_toml.lang_id, Tm_grammar_toml.json);
    (Tm_grammar_ts_tags.lang_id, Tm_grammar_ts_tags.json);
    (Tm_grammar_tsv.lang_id, Tm_grammar_tsv.json);
    (Tm_grammar_tsx.lang_id, Tm_grammar_tsx.json);
    (Tm_grammar_turtle.lang_id, Tm_grammar_turtle.json);
    (Tm_grammar_twig.lang_id, Tm_grammar_twig.json);
    (Tm_grammar_typescript.lang_id, Tm_grammar_typescript.json);
    (Tm_grammar_typespec.lang_id, Tm_grammar_typespec.json);
    (Tm_grammar_typst.lang_id, Tm_grammar_typst.json);
    (Tm_grammar_v.lang_id, Tm_grammar_v.json);
    (Tm_grammar_vala.lang_id, Tm_grammar_vala.json);
    (Tm_grammar_vb.lang_id, Tm_grammar_vb.json);
    (Tm_grammar_verilog.lang_id, Tm_grammar_verilog.json);
    (Tm_grammar_vhdl.lang_id, Tm_grammar_vhdl.json);
    (Tm_grammar_viml.lang_id, Tm_grammar_viml.json);
    (Tm_grammar_vue.lang_id, Tm_grammar_vue.json);
    (Tm_grammar_vue_directives.lang_id, Tm_grammar_vue_directives.json);
    (Tm_grammar_vue_html.lang_id, Tm_grammar_vue_html.json);
    (Tm_grammar_vue_interpolations.lang_id, Tm_grammar_vue_interpolations.json);
    ( Tm_grammar_vue_sfc_style_variable_injection.lang_id,
      Tm_grammar_vue_sfc_style_variable_injection.json );
    (Tm_grammar_vue_vine.lang_id, Tm_grammar_vue_vine.json);
    (Tm_grammar_vyper.lang_id, Tm_grammar_vyper.json);
    (Tm_grammar_wasm.lang_id, Tm_grammar_wasm.json);
    (Tm_grammar_wenyan.lang_id, Tm_grammar_wenyan.json);
    (Tm_grammar_wgsl.lang_id, Tm_grammar_wgsl.json);
    (Tm_grammar_wikitext.lang_id, Tm_grammar_wikitext.json);
    (Tm_grammar_wit.lang_id, Tm_grammar_wit.json);
    (Tm_grammar_wolfram.lang_id, Tm_grammar_wolfram.json);
    (Tm_grammar_xml.lang_id, Tm_grammar_xml.json);
    (Tm_grammar_xsl.lang_id, Tm_grammar_xsl.json);
    (Tm_grammar_yaml.lang_id, Tm_grammar_yaml.json);
    (Tm_grammar_zenscript.lang_id, Tm_grammar_zenscript.json);
    (Tm_grammar_zig.lang_id, Tm_grammar_zig.json);
  ]

let available = List.map fst all
let find lang_id = List.assoc_opt lang_id all