A post-modern development environment.
1# Language support configuration.
2# See the languages documentation: https://docs.helix-editor.com/master/languages.html
3
4use-grammars = { except = [ "wren", "gemini" ] }
5
6[language-server]
7
8ada-gpr-language-server = {command = "ada_language_server", args = ["--language-gpr"]}
9ada-language-server = { command = "ada_language_server" }
10als = { command = "als" }
11amber-lsp = { command = "amber-lsp" }
12ameba-ls = { command = "ameba-ls" }
13angular = {command = "ngserver", args = ["--stdio", "--tsProbeLocations", ".", "--ngProbeLocations", ".",]}
14asm-lsp = { command = "asm-lsp" }
15awk-language-server = { command = "awk-language-server" }
16bash-language-server = { command = "bash-language-server", args = ["start"] }
17bass = { command = "bass", args = ["--lsp"] }
18beancount-language-server = { command = "beancount-language-server" }
19bicep-langserver = { command = "bicep-langserver" }
20biome-lsp-proxy = { command = "biome", args = ["lsp-proxy"] }
21bitbake-language-server = { command = "bitbake-language-server" }
22buck2 = { command = "buck2", args = ["lsp"] }
23buf = { command = "buf", args = ["lsp", "serve", "--timeout", "0"] }
24c3-lsp = { command = "c3-lsp" }
25cairo-language-server = { command = "cairo-language-server", args = [] }
26circom-lsp = { command = "circom-lsp" }
27cl-lsp = { command = "cl-lsp" }
28clangd = { command = "clangd" }
29clojure-lsp = { command = "clojure-lsp" }
30cmake-language-server = { command = "cmake-language-server" }
31codeql = { command = "codeql", args = ["execute", "language-server", "--check-errors=ON_CHANGE"] }
32commit-lsp = { command = "commit-lsp", args = ["run"] }
33crystalline = { command = "crystalline", args = ["--stdio"] }
34cs = { command = "cs", args = ["launch", "--contrib", "smithy-language-server", "--", "0"] }
35csharp-ls = { command = "csharp-ls" }
36cuelsp = { command = "cue", args = ["lsp", "serve"] }
37dart = { command = "dart", args = ["language-server", "--client-id=helix"] }
38debian-lsp = { command = "debian-lsp" }
39deno = { command = "deno", args = ["lsp"], config.deno.enable = true }
40dhall-lsp-server = { command = "dhall-lsp-server" }
41djlsp = { command = "djlsp" }
42docker-langserver = { command = "docker-langserver", args = ["--stdio"] }
43docker-compose-langserver = { command = "docker-compose-langserver", args = ["--stdio"]}
44dot-language-server = { command = "dot-language-server", args = ["--stdio"] }
45dts-lsp = { command = "dts-lsp" }
46earthlyls = { command = "earthlyls" }
47eiffel-language-server = {command = "eiffel-language-server"}
48elixir-ls = { command = "elixir-ls", config = { elixirLS.dialyzerEnabled = false } }
49elm-language-server = { command = "elm-language-server" }
50elp = { command = "elp", args = ["server"] }
51elvish = { command = "elvish", args = ["-lsp"] }
52erlang-ls = { command = "erlang_ls" }
53expert = { command = "expert", args = ["--stdio"] }
54fennel-ls = { command = "fennel-ls" }
55fish-lsp = { command = "fish-lsp", args = ["start"] }
56forc = { command = "forc", args = ["lsp"] }
57forth-lsp = { command = "forth-lsp" }
58fortls = { command = "fortls", args = ["--lowercase_intrinsics"] }
59fsharp-ls = { command = "fsautocomplete", config = { AutomaticWorkspaceInit = true } }
60gitlab-ci-ls = { command = "gitlab-ci-ls" }
61gleam = { command = "gleam", args = ["lsp"] }
62glsl_analyzer = { command = "glsl_analyzer" }
63glsld = { command = "glsld", args = ["--stdio"] }
64graphql-language-service = { command = "graphql-lsp", args = ["server", "-m", "stream"] }
65hare-lsp = { command = "hare-lsp", args = ["-S"] }
66harper-ls = { command = "harper-ls", args = ["--stdio"] }
67haskell-language-server = { command = "haskell-language-server-wrapper", args = ["--lsp"] }
68hdls = { command = "hdls" }
69hyprls = { command = "hyprls" }
70hyuga = { command = "hyuga" }
71idris2-lsp = { command = "idris2-lsp" }
72intelephense = { command = "intelephense", args = ["--stdio"] }
73jdtls = { command = "jdtls" }
74jedi = { command = "jedi-language-server" }
75jq-lsp = { command = "jq-lsp" }
76jsonnet-language-server = { command = "jsonnet-language-server", args= ["-t", "--lint"] }
77julia = { command = "julia", timeout = 60, args = [ "--startup-file=no", "--history-file=no", "--quiet", "-e", "using LanguageServer; runserver()", ] }
78just-lsp = { command = "just-lsp" }
79koka = { command = "koka", args = ["--language-server", "--lsstdio"] }
80koto-ls = { command = "koto-ls" }
81kotlin-lsp = { command = "kotlin-lsp", args = ["--stdio"] }
82kotlin-language-server = { command = "kotlin-language-server" }
83lean = { command = "lake", args = ["serve"] }
84ltex-ls = { command = "ltex-ls" }
85ltex-ls-plus = { command = "ltex-ls-plus" }
86markdoc-ls = { command = "markdoc-ls", args = ["--stdio"] }
87markdown-oxide = { command = "markdown-oxide" }
88marksman = { command = "marksman", args = ["server"] }
89metals = { command = "metals", config = { "isHttpEnabled" = true, metals = { inlayHints = { typeParameters = {enable = true} , hintsInPatternMatch = {enable = true} } } } }
90mesonlsp = { command = "mesonlsp", args = ["--lsp"] }
91mint = { command = "mint", args = ["tool", "ls"] }
92mojo-lsp-server = { command = "pixi", args = ["run", "mojo-lsp-server"] }
93neocmakelsp = { command = "neocmakelsp", args = ["stdio"] }
94nil = { command = "nil" }
95nimlangserver = { command = "nimlangserver" }
96nimlsp = { command = "nimlsp" }
97nixd = { command = "nixd" }
98nls = { command = "nls" }
99nu-lint = { command = "nu-lint", args = ["--lsp"] }
100nu-lsp = { command = "nu", args = [ "--lsp" ] }
101ocamllsp = { command = "ocamllsp" }
102ols = { command = "ols", args = [] }
103oxlint-language-server = {command = "oxlint", args = ["--lsp"]}
104omnisharp = { command = "OmniSharp", args = [ "--languageserver" ] }
105openscad-lsp = { command = "openscad-lsp", args = ["--stdio"] }
106pasls = { command = "pasls", args = [] }
107pbkit = { command = "pb", args = [ "lsp" ] }
108perlnavigator = { command = "perlnavigator", args= ["--stdio"] }
109pest-language-server = { command = "pest-language-server" }
110pkl-lsp = { command = "pkl-lsp" }
111pony-lsp = { command = "pony-lsp", args = ["--stdio"], config = {defines = [], ponypath = []}}
112prisma-language-server = { command = "prisma-language-server", args = ["--stdio"], config.prisma.enableDiagnostics = true }
113purescript-language-server = { command = "purescript-language-server", args = ["--stdio"] }
114pylsp = { command = "pylsp" }
115pyrefly = { command = "pyrefly", args = ["lsp"] }
116pyright = { command = "pyright-langserver", args = ["--stdio"], config = {} }
117protols = { command = "protols", args = [] }
118basedpyright = { command = "basedpyright-langserver", args = ["--stdio"], config = {} }
119pylyzer = { command = "pylyzer", args = ["--server"] }
120pytest-language-server = { command = "pytest-language-server" }
121qmlls = { command = "qmlls" }
122quint-language-server = { command = "quint-language-server", args = ["--stdio"] }
123r = { command = "R", args = ["--vanilla", "--no-echo", "-e", "languageserver::run()"] }
124racket = { command = "racket", args = ["-l", "racket-langserver"] }
125regols = { command = "regols" }
126rescript-language-server = { command = "rescript-language-server", args = ["--stdio"] }
127ripple-lsp = { command = "ripple-language-server", args = ["--stdio"] }
128robotcode = { command = "robotcode", args = ["language-server", "--stdio"] }
129robotframework_ls = { command = "robotframework_ls" }
130ron-lsp = { command = "ron-lsp" }
131roslyn-language-server = { command = "roslyn-language-server", args = ["--stdio", "--autoLoadProjects"] }
132ruff = { command = "ruff", args = ["server"] }
133ruby-lsp = { command = "ruby-lsp" }
134rshtml-analyzer = { command = "rshtml-analyzer", args = ["--stdio"] }
135rumdl = { command = "rumdl", args = ["server"] }
136serve-d = { command = "serve-d" }
137slangd = { command = "slangd" }
138slint-lsp = { command = "slint-lsp", args = [] }
139smalisp = { command = "smalisp" }
140systemd-lsp = { command = "systemd-lsp" }
141solargraph = { command = "solargraph", args = ["stdio"] }
142solc = { command = "solc", args = ["--lsp"] }
143sourcekit-lsp = { command = "sourcekit-lsp" }
144spade-language-server = {command = "swim", args = ["lsp"]}
145starpls = {command = "starpls"}
146styx = { command = "styx", args = ["lsp"] }
147svlangserver = { command = "svlangserver", args = [], config.systemverilog.includeIndexing = ["*.{v,vh,sv,svh}", "**/*.{v,vh,sv,svh}"] }
148swipl = { command = "swipl", args = [ "-g", "use_module(library(lsp_server))", "-g", "lsp_server:main", "-t", "halt", "--", "stdio" ] }
149superhtml = { command = "superhtml", args = ["lsp"]}
150tailwindcss-ls = { command = "tailwindcss-language-server", args = ["--stdio"] }
151taplo = { command = "taplo", args = ["lsp", "stdio"], config = {} }
152templ = { command = "templ", args = ["lsp"] }
153terraform-ls = { command = "terraform-ls", args = ["serve"] }
154texlab = { command = "texlab" }
155tilt = { command = "tilt", args = ["lsp", "start"] }
156tombi = { command = "tombi", args = ["lsp"] }
157ty = { command = "ty", args = ["server"] }
158typespec = { command = "tsp-server", args = ["--stdio"] }
159vala-language-server = { command = "vala-language-server" }
160vale-ls = { command = "vale-ls" }
161verible-verilog-ls = { command = "verible-verilog-ls" }
162vhdl_ls = { command = "vhdl_ls", args = [] }
163vlang-language-server = { command = "v-analyzer" }
164vscode-css-language-server = { command = "vscode-css-language-server", args = ["--stdio"], config = { provideFormatter = true, css = { validate = { enable = true } } } }
165vscode-html-language-server = { command = "vscode-html-language-server", args = ["--stdio"], config = { provideFormatter = true } }
166vscode-json-language-server = { command = "vscode-json-language-server", args = ["--stdio"], config = { provideFormatter = true, json = { validate = { enable = true } } } }
167vuels = { command = "vue-language-server", args = ["--stdio"], config = { typescript = { tsdk = "node_modules/typescript/lib/" } } }
168wgsl-analyzer = { command = "wgsl-analyzer" }
169wikitext-lsp = { command = "wikitext-lsp", args = ["--stdio"]}
170yaml-language-server = { command = "yaml-language-server", args = ["--stdio"] }
171yls = { command = "yls", args = ["-vv"] }
172zls = { command = "zls" }
173zuban = { command = "zuban", args = ["server"] }
174blueprint-compiler = { command = "blueprint-compiler", args = ["lsp"] }
175tinymist = { command = "tinymist" }
176ts_query_ls = { command = "ts_query_ls" }
177termux-language-server = { command = "termux-language-server" }
178helm_ls = { command = "helm_ls", args = ["serve"] }
179ember-language-server = { command = "ember-language-server", args = ["--stdio"] }
180teal-language-server = { command = "teal-language-server" }
181wasm-language-tools = { command = "wat_server" }
182sourcepawn-studio = { command = "sourcepawn-studio" }
183luau = { command = "luau-lsp", args = ["lsp"] }
184ebnfer = { command = "ebnfer" }
185zizmor = { command = "zizmor", args = ["--lsp"]}
186
187[language-server.actions-language-server]
188command = "actions-languageserver"
189args = ["--stdio"]
190
191[language-server.actions-language-server.config.actions-language-server]
192sessionToken = ""
193
194[language-server.ansible-language-server]
195command = "ansible-language-server"
196args = ["--stdio"]
197
198[language-server.astro-ls]
199command = "astro-ls"
200args = [ "--stdio" ]
201config = { typescript = { tsdk = "node_modules/typescript/lib" } }
202
203[language-server.lua-language-server]
204command = "lua-language-server"
205
206[language-server.lua-language-server.config.Lua.hint]
207enable = true
208arrayIndex = "Enable"
209setType = true
210paramName = "All"
211paramType = true
212await = true
213
214[language-server.gopls]
215command = "gopls"
216
217[language-server.gopls.config.hints]
218assignVariableTypes = true
219compositeLiteralFields = true
220constantValues = true
221functionTypeParameters = true
222parameterNames = true
223rangeVariableTypes = true
224
225[language-server.golangci-lint-lsp]
226command = "golangci-lint-langserver"
227
228[language-server.golangci-lint-lsp.config]
229command = ["golangci-lint", "run", "--output.json.path=stdout", "--show-stats=false", "--issues-exit-code=1"]
230
231[language-server.rust-analyzer]
232command = "rust-analyzer"
233
234[language-server.rust-analyzer.config]
235inlayHints.bindingModeHints.enable = false
236inlayHints.closingBraceHints.minLines = 10
237inlayHints.closureReturnTypeHints.enable = "with_block"
238inlayHints.discriminantHints.enable = "fieldless"
239inlayHints.lifetimeElisionHints.enable = "skip_trivial"
240inlayHints.typeHints.hideClosureInitialization = false
241
242[language-server.rust-analyzer.config.files]
243watcher = "server"
244
245[language-server.typescript-language-server]
246command = "typescript-language-server"
247args = ["--stdio"]
248config.hostInfo = "helix"
249
250[language-server.typescript-language-server.config.typescript.inlayHints]
251includeInlayEnumMemberValueHints = true
252includeInlayFunctionLikeReturnTypeHints = true
253includeInlayFunctionParameterTypeHints = true
254includeInlayParameterNameHints = "all"
255includeInlayParameterNameHintsWhenArgumentMatchesName = true
256includeInlayPropertyDeclarationTypeHints = true
257includeInlayVariableTypeHints = true
258
259[language-server.typescript-language-server.config.javascript.inlayHints]
260includeInlayEnumMemberValueHints = true
261includeInlayFunctionLikeReturnTypeHints = true
262includeInlayFunctionParameterTypeHints = true
263includeInlayParameterNameHints = "all"
264includeInlayParameterNameHintsWhenArgumentMatchesName = true
265includeInlayPropertyDeclarationTypeHints = true
266includeInlayVariableTypeHints = true
267
268[language-server.svelteserver]
269command = "svelteserver"
270args = ["--stdio"]
271
272[language-server.svelteserver.config.configuration.typescript]
273inlayHints.parameterTypes.enabled = true
274inlayHints.variableTypes.enabled = true
275inlayHints.propertyDeclarationTypes.enabled = true
276inlayHints.functionLikeReturnTypes.enabled = true
277inlayHints.enumMemberValues.enabled = true
278inlayHints.parameterNames.enabled = "all"
279
280[language-server.svelteserver.config.configuration.javascript]
281inlayHints.parameterTypes.enabled = true
282inlayHints.variableTypes.enabled = true
283inlayHints.propertyDeclarationTypes.enabled = true
284inlayHints.functionLikeReturnTypes.enabled = true
285inlayHints.enumMemberValues.enabled = true
286inlayHints.parameterNames.enabled = "all"
287
288[language-server.vscode-eslint-language-server]
289command = "vscode-eslint-language-server"
290args = ["--stdio"]
291
292[language-server.vscode-eslint-language-server.config]
293validate = "on"
294experimental = { useFlatConfig = false }
295rulesCustomizations = []
296run = "onType"
297problems = { shortenToSingleLine = false }
298nodePath = ""
299
300[language-server.vscode-eslint-language-server.config.codeAction.disableRuleComment]
301enable = true
302location = "separateLine"
303
304[language-server.vscode-eslint-language-server.config.codeAction.showDocumentation]
305enable = true
306
307[language-server.vscode-eslint-language-server.config.workingDirectory]
308mode = "location"
309
310[language-server.clarinet]
311command = "clarinet"
312args = ["lsp"]
313
314[language-server.docker-language-server]
315command = "docker-language-server"
316args = ["start", "--stdio"]
317
318[language-server.kcl-lsp]
319command = "kcl-language-server"
320args = ["server", "--stdio"]
321
322[language-server.drools-lsp]
323command = "drools-lsp"
324
325[[language]]
326name = "rust"
327scope = "source.rust"
328injection-regex = "rs|rust"
329file-types = ["rs"]
330roots = ["Cargo.toml", "Cargo.lock"]
331shebangs = ["rust-script", "cargo"]
332auto-format = true
333comment-tokens = ["//", "///", "//!"]
334block-comment-tokens = [
335 { start = "/*", end = "*/" },
336 { start = "/**", end = "*/" },
337 { start = "/*!", end = "*/" },
338]
339language-servers = [ "rust-analyzer" ]
340indent = { tab-width = 4, unit = " " }
341persistent-diagnostic-sources = ["rustc", "clippy"]
342
343[language.auto-pairs]
344'(' = ')'
345'{' = '}'
346'[' = ']'
347'"' = '"'
348'`' = '`'
349
350[language.debugger]
351name = "lldb-dap"
352transport = "stdio"
353command = "lldb-dap"
354
355[[language.debugger.templates]]
356name = "binary"
357request = "launch"
358completion = [ { name = "binary", completion = "filename" } ]
359args = { program = "{0}" }
360
361[[language.debugger.templates]]
362name = "binary (terminal)"
363request = "launch"
364completion = [ { name = "binary", completion = "filename" } ]
365args = { program = "{0}", runInTerminal = true }
366
367[[language.debugger.templates]]
368name = "attach"
369request = "attach"
370completion = [ "pid" ]
371args = { pid = "{0}" }
372
373[[language.debugger.templates]]
374name = "gdbserver attach"
375request = "attach"
376completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
377args = { attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
378
379[[grammar]]
380name = "rust"
381source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "77a3747266f4d621d0757825e6b11edcbf991ca5" }
382
383[[language]]
384name = "sway"
385scope = "source.sway"
386injection-regex = "sway"
387file-types = ["sw"]
388language-servers = [ "forc" ]
389roots = ["Forc.toml", "Forc.lock"]
390indent = { tab-width = 4, unit = " " }
391comment-token = "//"
392
393[[grammar]]
394name = "sway"
395source = { git = "https://github.com/FuelLabs/tree-sitter-sway", rev = "e491a005ee1d310f4c138bf215afd44cfebf959c" }
396
397[[language]]
398name = "toml"
399scope = "source.toml"
400injection-regex = "toml"
401file-types = [
402 "toml",
403 { glob = "pdm.lock" },
404 { glob = "poetry.lock" },
405 { glob = "Cargo.lock" },
406 { glob = "uv.lock" },
407 { glob = "containers.conf" },
408 { glob = "containers.conf.d/*.conf" },
409 { glob = "containers.conf.modules/*.conf" },
410 { glob = "mounts.conf" },
411 { glob = "policy.conf" },
412 { glob = "registries.conf" },
413 { glob = "storage.conf" },
414]
415comment-token = "#"
416language-servers = [ "taplo", "tombi" ]
417indent = { tab-width = 2, unit = " " }
418
419[[grammar]]
420name = "toml"
421source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-toml", rev = "64b56832c2cffe41758f28e05c756a3a98d16f41" }
422
423[[language]]
424name = "awk"
425scope = "source.awk"
426injection-regex = "awk"
427file-types = ["awk", "gawk", "nawk", "mawk"]
428comment-token = "#"
429language-servers = [ "awk-language-server" ]
430indent = { tab-width = 2, unit = " " }
431
432[[grammar]]
433name = "awk"
434source = { git = "https://github.com/Beaglefoot/tree-sitter-awk", rev = "34bbdc7cce8e803096f47b625979e34c1be38127" }
435
436[[language]]
437name = "protobuf"
438scope = "source.proto"
439injection-regex = "proto"
440file-types = ["proto"]
441language-servers = [ "buf", "pbkit", "protols" ]
442comment-token = "//"
443block-comment-tokens = { start = "/*", end = "*/" }
444indent = { tab-width = 2, unit = " " }
445grammar = "proto"
446
447[[grammar]]
448name = "proto"
449source = { git = "https://github.com/sdoerner/tree-sitter-proto", rev = "35a6a3b543e418b7037328261f40e912c767c598"}
450
451[[language]]
452name = "textproto"
453file-types = ["txtpb", "textpb", "textproto"]
454comment-token = "#"
455scope = "source.textproto"
456indent = { tab-width = 2, unit = " " }
457formatter = { command = "txtpbfmt" }
458auto-format = true
459
460[[grammar]]
461name = "textproto"
462source = { git = "https://github.com/PorterAtGoogle/tree-sitter-textproto", rev = "568471b80fd8793d37ed01865d8c2208a9fefd1b"}
463
464[[language]]
465name = "eiffel"
466scope = "source.eiffel"
467file-types = ["e"]
468comment-token = "--"
469language-servers = ["eiffel-language-server"]
470
471[[grammar]]
472name = "eiffel"
473source = { git = "https://github.com/imustafin/tree-sitter-eiffel", rev = "d934fb44f1d22bb76be6b56a7b2425ab3b1daf8b" }
474
475[[language]]
476name = "elixir"
477scope = "source.elixir"
478injection-regex = "(elixir|ex)"
479file-types = ["ex", "exs", { glob = "mix.lock" }]
480shebangs = ["elixir"]
481roots = ["mix.exs", "mix.lock"]
482comment-token = "#"
483language-servers = [ "elixir-ls", "expert" ]
484indent = { tab-width = 2, unit = " " }
485
486[[grammar]]
487name = "elixir"
488source = { git = "https://github.com/elixir-lang/tree-sitter-elixir", rev = "7937d3b4d65fa574163cfa59394515d3c1cf16f4" }
489
490[[language]]
491name = "fennel"
492scope = "source.fennel"
493file-types = ["fnl", "fnlm"]
494shebangs = ["fennel"]
495comment-token = ";"
496language-servers = ["fennel-ls"]
497formatter = { command = "fnlfmt", args = ["-"]}
498indent = { tab-width = 2, unit = " " }
499
500[[grammar]]
501name = "fennel"
502source = { git = "https://github.com/alexmozaidze/tree-sitter-fennel", rev = "3f0f6b24d599e92460b969aabc4f4c5a914d15a0" }
503
504[[language]]
505name = "fish"
506scope = "source.fish"
507injection-regex = "fish"
508file-types = ["fish"]
509shebangs = ["fish"]
510comment-token = "#"
511language-servers = ["fish-lsp"]
512indent = { tab-width = 4, unit = " " }
513auto-format = true
514formatter = { command = "fish_indent" }
515
516[[grammar]]
517name = "fish"
518source = { git = "https://github.com/ram02z/tree-sitter-fish", rev = "f435b0bd772578c70e5d158b85267bb886316f88" }
519
520[[language]]
521name = "flatbuffers"
522scope = "source.flatbuffers"
523injection-regex = "(flatbuffers?|fbs)"
524file-types = ["fbs"]
525comment-token = "//"
526indent = { tab-width = 2, unit = " " }
527
528[[grammar]]
529name = "flatbuffers"
530source = { git = "https://github.com/yuanchenxi95/tree-sitter-flatbuffers", rev = "95e6f9ef101ea97e870bf6eebc0bd1fdfbaf5490" }
531
532[[language]]
533name = "mint"
534scope = "source.mint"
535injection-regex = "mint"
536file-types = ["mint"]
537shebangs = []
538comment-token = "//"
539block-comment-tokens = { start = "/*", end = "*/" }
540language-servers = [ "mint" ]
541indent = { tab-width = 2, unit = " " }
542
543[[language]]
544name = "mojo"
545scope = "source.mojo"
546roots = ["pixi.toml", "pixi.lock"]
547injection-regex = "mojo"
548file-types = ["mojo", "🔥"]
549language-servers = [ "mojo-lsp-server" ]
550comment-token = "#"
551indent = { tab-width = 4, unit = " " }
552auto-format = true
553formatter = { command = "pixi", args = ["run", "mojo" , "format", "-q", "-"]}
554
555[[grammar]]
556name = "mojo"
557source = { git = "https://github.com/lsh/tree-sitter-mojo", rev = "3d7c53b8038f9ebbb57cd2e61296180aa5c1cf64" }
558
559[[language]]
560name = "janet"
561scope = "source.janet"
562injection-regex = "janet"
563file-types = ["cgen", "janet", "jdn"]
564shebangs = ["janet"]
565roots = ["project.janet"]
566comment-token = "#"
567indent = { tab-width = 2, unit = " " }
568formatter = { command = "janet-format" }
569grammar = "janet-simple"
570
571[language.auto-pairs]
572'"' = '"'
573'(' = ')'
574'[' = ']'
575'{' = '}'
576"`" = "`"
577
578[[grammar]]
579name = "janet-simple"
580source = { git = "https://github.com/sogaiu/tree-sitter-janet-simple", rev = "3c1bdcfff374138da03a1db25c75efce623910fe" }
581
582[[language]]
583name = "json"
584scope = "source.json"
585injection-regex = "json"
586file-types = [
587 "json",
588 "arb",
589 "ipynb",
590 "geojson",
591 "gltf",
592 "webmanifest",
593 { glob = "flake.lock" },
594 { glob = ".babelrc" },
595 { glob = ".bowerrc" },
596 { glob = ".jscrc" },
597 "js.map",
598 "ts.map",
599 "css.map",
600 { glob = ".jslintrc" },
601 "jsonl",
602 { glob = ".vuerc" },
603 { glob = "composer.lock" },
604 { glob = ".watchmanconfig" },
605 "avsc",
606 "ldtk",
607 "ldtkl",
608 { glob = ".swift-format" },
609 "sublime-build",
610 "sublime-color-scheme",
611 "sublime-commands",
612 "sublime-completions",
613 "sublime-keymap",
614 "sublime-macro",
615 "sublime-menu",
616 "sublime-mousemap",
617 "sublime-project",
618 "sublime-settings",
619 "sublime-theme",
620 "sublime-workspace",
621 "code-workspace",
622 { glob = ".pytest_cache/v/cache/*" }, # https://docs.pytest.org/en/latest/reference/reference.html#confval-cache_dir
623 { glob = "devenv.lock" }, # https://devenv.sh/
624 { glob = "devbox.lock" }, # https://www.jetify.com/docs/devbox/
625 { glob = "manifest.lock" }, # https://flox.dev/docs/
626 { glob = "deno.lock" }, # https://deno.com/
627]
628language-servers = [ "vscode-json-language-server" ]
629auto-format = true
630indent = { tab-width = 2, unit = " " }
631
632[[grammar]]
633name = "json"
634source = { git = "https://github.com/tree-sitter/tree-sitter-json", rev = "001c28d7a29832b06b0e831ec77845553c89b56d" }
635
636[[language]]
637name = "jsonc"
638scope = "source.json"
639injection-regex = "jsonc"
640file-types = [
641 "jsonc",
642 { glob = "{t,j}sconfig.json" },
643 { glob = "bun.lock" },
644 { glob = ".devcontainer.json" },
645 { glob = "devcontainer.json" },
646 { glob = ".vscode/*.json" },
647]
648comment-token = "//"
649block-comment-tokens = { start = "/*", end = "*/" }
650grammar = "json"
651language-servers = [ "vscode-json-language-server" ]
652auto-format = true
653indent = { tab-width = 2, unit = " " }
654
655# https://www.w3.org/TR/json-ld/
656[[language]]
657name = "json-ld"
658scope = "source.json-ld"
659injection-regex = "json-ld"
660grammar = "json"
661file-types = ["jsonld"]
662language-servers = ["vscode-json-language-server"]
663auto-format = true
664indent = { tab-width = 2, unit = " " }
665
666[[language]]
667name = "json5"
668scope = "source.json5"
669injection-regex = "json5"
670file-types = ["json5"]
671language-servers = []
672comment-token = "//"
673indent = { tab-width = 4, unit = " " }
674# https://json5.org
675
676[[grammar]]
677name = "json5"
678source = { git = "https://github.com/Joakker/tree-sitter-json5", rev = "248b8564567087d7866be76569b182f6dd7e14e9" }
679
680[[language]]
681name = "c"
682scope = "source.c"
683injection-regex = "c"
684file-types = ["c"] # TODO: ["h"]
685comment-token = "//"
686block-comment-tokens = { start = "/*", end = "*/" }
687language-servers = [ "clangd" ]
688indent = { tab-width = 2, unit = " " }
689
690[language.debugger]
691name = "lldb-dap"
692transport = "stdio"
693command = "lldb-dap"
694
695[[language.debugger.templates]]
696name = "binary"
697request = "launch"
698completion = [ { name = "binary", completion = "filename" } ]
699args = { console = "internalConsole", program = "{0}" }
700
701[[language.debugger.templates]]
702name = "attach"
703request = "attach"
704completion = [ "pid" ]
705args = { console = "internalConsole", pid = "{0}" }
706
707[[language.debugger.templates]]
708name = "gdbserver attach"
709request = "attach"
710completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
711args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
712
713[[grammar]]
714name = "c"
715source = { git = "https://github.com/tree-sitter/tree-sitter-c", rev = "b780e47fc780ddc8da13afa35a3f4ed5c157823d" }
716
717[[language]]
718name = "cpp"
719scope = "source.cpp"
720injection-regex = "cpp"
721file-types = ["cc", "hh", "c++", "cpp", "hpp", "h", "ipp", "tpp", "cxx", "hxx", "ixx", "txx", "ino", "C", "H", "cu", "cuh", "cppm", "h++", "ii", "inl", { glob = ".hpp.in" }, { glob = ".h.in" }]
722comment-token = "//"
723block-comment-tokens = { start = "/*", end = "*/" }
724language-servers = [ "clangd" ]
725indent = { tab-width = 2, unit = " " }
726
727[language.debugger]
728name = "lldb-dap"
729transport = "stdio"
730command = "lldb-dap"
731
732[[language.debugger.templates]]
733name = "binary"
734request = "launch"
735completion = [ { name = "binary", completion = "filename" } ]
736args = { console = "internalConsole", program = "{0}" }
737
738[[language.debugger.templates]]
739name = "attach"
740request = "attach"
741completion = [ "pid" ]
742args = { console = "internalConsole", pid = "{0}" }
743
744[[language.debugger.templates]]
745name = "gdbserver attach"
746request = "attach"
747completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
748args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
749
750[[grammar]]
751name = "cpp"
752source = { git = "https://github.com/tree-sitter/tree-sitter-cpp", rev = "8b5b49eb196bec7040441bee33b2c9a4838d6967" }
753
754[[language]]
755name = "crystal"
756scope = "source.cr"
757file-types = ["cr"]
758roots = ["shard.yml", "shard.lock"]
759comment-token = "#"
760indent = { tab-width = 2, unit = " " }
761language-servers = [ "crystalline", "ameba-ls" ]
762formatter = { command = "crystal", args = ["tool", "format", "-"] }
763
764[[grammar]]
765name = "crystal"
766source = { git = "https://github.com/crystal-lang-tools/tree-sitter-crystal", rev = "50ca9e6fcfb16a2cbcad59203cfd8ad650e25c49" }
767
768[[language]]
769name = "c-sharp"
770scope = "source.csharp"
771injection-regex = "c-?sharp"
772file-types = ["cs", "csx", "cake"]
773roots = ["*.slnx", "*.sln", "*.csproj"]
774comment-tokens = ["//", "///"]
775block-comment-tokens = { start = "/*", end = "*/" }
776indent = { tab-width = 4, unit = "\t" }
777language-servers = [ "roslyn-language-server", "omnisharp", "csharp-ls" ]
778
779[language.debugger]
780name = "netcoredbg"
781transport = "tcp"
782command = "netcoredbg"
783args = [ "--interpreter=vscode" ]
784port-arg = "--server={}"
785
786[[language.debugger.templates]]
787name = "launch"
788request = "launch"
789completion = [ { name = "path to dll", completion = "filename" } ]
790args = { type = "coreclr", console = "internalConsole", internalConsoleOptions = "openOnSessionStart", program = "{0}" }
791
792[[language.debugger.templates]]
793name = "attach"
794request = "attach"
795completion = [ "pid" ]
796args = { processId = "{0}" }
797
798[[grammar]]
799name = "c-sharp"
800source = { git = "https://github.com/tree-sitter/tree-sitter-c-sharp", rev = "cac6d5fb595f5811a076336682d5d595ac1c9e85" }
801
802[[language]]
803name = "c3"
804scope = "source.c3"
805injection-regex = "c3"
806file-types = [ "c3", "c3i", "c3t" ]
807roots = [ "project.json" ]
808comment-token = "//"
809block-comment-tokens = [
810 { start = "/*", end = "*/" },
811 { start = "<*", end = "*>" },
812]
813indent = { tab-width = 4, unit = "\t" }
814language-servers = [ "c3-lsp" ]
815
816[language.debugger]
817name = "lldb-dap"
818transport = "stdio"
819command = "lldb-dap"
820
821[[language.debugger.templates]]
822name = "binary"
823request = "launch"
824completion = [ { name = "binary", completion = "filename" } ]
825args = { console = "internalConsole", program = "{0}" }
826
827[[language.debugger.templates]]
828name = "attach"
829request = "attach"
830completion = [ "pid" ]
831args = { console = "internalConsole", pid = "{0}" }
832
833[[language.debugger.templates]]
834name = "gdbserver attach"
835request = "attach"
836completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
837args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
838
839[[grammar]]
840name = "c3"
841source = { git = "https://github.com/c3lang/tree-sitter-c3", rev = "15d3502510af0a6c888c663ec8d6aca8791216ce" }
842
843[[language]]
844name = "cel"
845scope = "source.cel"
846injection-regex = "cel"
847file-types = ["cel"]
848comment-token = "//"
849indent = { tab-width = 2, unit = " " }
850
851[[grammar]]
852name = "cel"
853source = { git = "https://github.com/bufbuild/tree-sitter-cel", rev = "9f2b65da14c216df53933748e489db0f11121464" }
854
855[[language]]
856name = "spicedb"
857scope = "source.zed"
858injection-regex = "spicedb"
859file-types = ["zed"]
860comment-token = "//"
861indent = { tab-width = 2, unit = " " }
862
863[[grammar]]
864name = "spicedb"
865source = { git = "https://github.com/jzelinskie/tree-sitter-spicedb", rev = "a4e4645651f86d6684c15dfa9931b7841dc52a66" }
866
867[[language]]
868name = "go"
869scope = "source.go"
870injection-regex = "go"
871file-types = ["go"]
872roots = ["go.work", "go.mod"]
873auto-format = true
874comment-token = "//"
875block-comment-tokens = { start = "/*", end = "*/" }
876language-servers = [ "gopls", "golangci-lint-lsp" ]
877# TODO: gopls needs utf-8 offsets?
878code-actions-on-save = ["source.organizeImports"]
879indent = { tab-width = 4, unit = "\t" }
880
881[language.debugger]
882name = "go"
883transport = "tcp"
884command = "dlv"
885args = ["dap"]
886port-arg = "-l 127.0.0.1:{}"
887
888[[language.debugger.templates]]
889name = "source"
890request = "launch"
891completion = [ { name = "entrypoint", completion = "filename", default = "." } ]
892args = { mode = "debug", program = "{0}" }
893
894[[language.debugger.templates]]
895name = "binary"
896request = "launch"
897completion = [ { name = "binary", completion = "filename" } ]
898args = { mode = "exec", program = "{0}" }
899
900[[language.debugger.templates]]
901name = "test"
902request = "launch"
903completion = [ { name = "tests", completion = "directory", default = "." } ]
904args = { mode = "test", program = "{0}" }
905
906[[language.debugger.templates]]
907name = "attach"
908request = "attach"
909completion = [ "pid" ]
910args = { mode = "local", processId = "{0}" }
911
912[[language.debugger.templates]]
913name = "core"
914request = "launch"
915completion = [ { name = "binary", completion = "filename" }, { name = "core", completion = "filename" } ]
916args = { mode = "core", program = "{0}", coreFilePath = "{1}" }
917
918[[grammar]]
919name = "go"
920source = { git = "https://github.com/tree-sitter/tree-sitter-go", rev = "2346a3ab1bb3857b48b29d779a1ef9799a248cd7" }
921
922[[language]]
923name = "gomod"
924scope = "source.gomod"
925injection-regex = "gomod"
926file-types = [{ glob = "go.mod" }]
927auto-format = true
928comment-token = "//"
929language-servers = [ "gopls" ]
930indent = { tab-width = 4, unit = "\t" }
931
932[[grammar]]
933name = "gomod"
934source = { git = "https://github.com/camdencheek/tree-sitter-go-mod", rev = "6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c" }
935
936[[language]]
937name = "gotmpl"
938scope = "source.gotmpl"
939injection-regex = "gotmpl"
940file-types = ["gotmpl"]
941comment-token = "//"
942block-comment-tokens = { start = "/*", end = "*/" }
943language-servers = [ "gopls" ]
944indent = { tab-width = 2, unit = " " }
945
946[[grammar]]
947name = "gotmpl"
948source = { git = "https://github.com/ngalaiko/tree-sitter-go-template", rev = "aa71f63de226c5592dfbfc1f29949522d7c95fac" }
949
950[[language]]
951name = "gowork"
952scope = "source.gowork"
953injection-regex = "gowork"
954file-types = [{ glob = "go.work" }]
955auto-format = true
956comment-token = "//"
957language-servers = [ "gopls" ]
958indent = { tab-width = 4, unit = "\t" }
959
960[[grammar]]
961name = "gowork"
962source = { git = "https://github.com/omertuc/tree-sitter-go-work", rev = "6dd9dd79fb51e9f2abc829d5e97b15015b6a8ae2" }
963
964[[language]]
965name = "go-format-string"
966scope = "source.go-format-string"
967file-types = []
968injection-regex = "go-format-string"
969
970[[grammar]]
971name = "go-format-string"
972source = { git = "https://codeberg.org/kpbaks/tree-sitter-go-format-string", rev = "06587ea641155db638f46a32c959d68796cd36bb" }
973
974[[language]]
975name = "javascript"
976scope = "source.js"
977injection-regex = "(js|javascript)"
978language-id = "javascript"
979file-types = ["js", "mjs", "cjs", "rules", "es6", "pac", "gs", { glob = ".node_repl_history" }, { glob = "jakefile" }]
980shebangs = ["node"]
981roots = [ "package.json", "jsconfig.json" ]
982comment-token = "//"
983block-comment-tokens = { start = "/*", end = "*/" }
984language-servers = [ "typescript-language-server" ]
985indent = { tab-width = 2, unit = " " }
986
987[language.debugger]
988name = "js-debug-dap"
989transport = "tcp"
990port-arg = "{} 127.0.0.1"
991# args consisting of cmd (node) and path to adapter should be added to user's configuration
992quirks = { absolute-paths = true }
993
994[[language.debugger.templates]]
995name = "source"
996request = "launch"
997completion = [ { name = "main", completion = "filename", default = "index.js" } ]
998args = { program = "{0}", skipFiles = [ "<node_internals>/**" ] }
999
1000[[grammar]]
1001name = "javascript"
1002source = { git = "https://github.com/tree-sitter/tree-sitter-javascript", rev = "58404d8cf191d69f2674a8fd507bd5776f46cb11" }
1003
1004[[language]]
1005name = "jsx"
1006scope = "source.jsx"
1007injection-regex = "jsx"
1008language-id = "javascriptreact"
1009file-types = ["jsx"]
1010roots = [ "package.json", "jsconfig.json" ]
1011comment-token = "//"
1012block-comment-tokens = { start = "/*", end = "*/" }
1013language-servers = [ "typescript-language-server" ]
1014indent = { tab-width = 2, unit = " " }
1015grammar = "javascript"
1016
1017[[language]]
1018name = "typescript"
1019scope = "source.ts"
1020injection-regex = "(ts|typescript)"
1021language-id = "typescript"
1022file-types = ["ts", "mts", "cts"]
1023shebangs = ["deno", "bun", "ts-node"]
1024roots = [ "package.json", "tsconfig.json" ]
1025comment-token = "//"
1026block-comment-tokens = { start = "/*", end = "*/" }
1027language-servers = [ "typescript-language-server" ]
1028indent = { tab-width = 2, unit = " " }
1029
1030[[grammar]]
1031name = "typescript"
1032source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "75b3874edb2dc714fb1fd77a32013d0f8699989f", subpath = "typescript" }
1033
1034[[language]]
1035name = "typespec"
1036scope = "source.typespec"
1037injection-regex = "(tsp|typespec)"
1038language-id = "typespec"
1039file-types = ["tsp"]
1040roots = ["tspconfig.yaml"]
1041auto-format = true
1042comment-token = "//"
1043block-comment-tokens = { start = "/*", end = "*/" }
1044language-servers = ["typespec"]
1045indent = { tab-width = 2, unit = " " }
1046
1047[[grammar]]
1048name = "typespec"
1049source = { git = "https://github.com/happenslol/tree-sitter-typespec", rev = "0ee05546d73d8eb64635ed8125de6f35c77759fe" }
1050
1051[[language]]
1052name = "tsx"
1053scope = "source.tsx"
1054injection-regex = "(tsx)" # |typescript
1055language-id = "typescriptreact"
1056file-types = ["tsx"]
1057roots = [ "package.json", "tsconfig.json" ]
1058comment-token = "//"
1059block-comment-tokens = { start = "/*", end = "*/" }
1060language-servers = [ "typescript-language-server" ]
1061indent = { tab-width = 2, unit = " " }
1062
1063[[grammar]]
1064name = "tsx"
1065source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "75b3874edb2dc714fb1fd77a32013d0f8699989f", subpath = "tsx" }
1066
1067[[language]]
1068name = "css"
1069scope = "source.css"
1070injection-regex = "css"
1071file-types = ["css"]
1072block-comment-tokens = { start = "/*", end = "*/" }
1073language-servers = [ "vscode-css-language-server" ]
1074auto-format = true
1075indent = { tab-width = 2, unit = " " }
1076
1077[[grammar]]
1078name = "css"
1079source = { git = "https://github.com/tree-sitter/tree-sitter-css", rev = "dda5cfc5722c429eaba1c910ca32c2c0c5bb1a3f" }
1080
1081[[language]]
1082name = "scss"
1083scope = "source.scss"
1084injection-regex = "scss"
1085file-types = ["scss"]
1086block-comment-tokens = { start = "/*", end = "*/" }
1087language-servers = [ "vscode-css-language-server" ]
1088auto-format = true
1089indent = { tab-width = 2, unit = " " }
1090
1091[[grammar]]
1092name = "scss"
1093source = { git = "https://github.com/serenadeai/tree-sitter-scss", rev = "c478c6868648eff49eb04a4df90d703dc45b312a" }
1094
1095[[language]]
1096name = "less"
1097scope = "source.less"
1098injection-regex = "less"
1099file-types = ["less"]
1100block-comment-tokens = { start = "/*", end = "*/" }
1101language-servers = [ "vscode-css-language-server" ]
1102auto-format = true
1103indent = { tab-width = 2, unit = " " }
1104
1105[[grammar]]
1106name = "less"
1107source = { git = "https://github.com/jimliang/tree-sitter-less", rev = "e5ae6245f841b5778c79ac93b28fa4f56b679c5d" }
1108
1109[[language]]
1110name = "html"
1111scope = "text.html.basic"
1112injection-regex = "html"
1113file-types = ["html", "htm", "shtml", "xhtml", "xht", "jsp", "asp", "aspx", "jshtm", "volt", "rhtml", "cshtml"]
1114block-comment-tokens = { start = "<!--", end = "-->" }
1115language-servers = [ "vscode-html-language-server", "superhtml" ]
1116auto-format = true
1117indent = { tab-width = 2, unit = " " }
1118
1119[language.auto-pairs]
1120'(' = ')'
1121'{' = '}'
1122'[' = ']'
1123'"' = '"'
1124"'" = "'"
1125"<" = ">"
1126
1127[[grammar]]
1128name = "html"
1129source = { git = "https://github.com/tree-sitter/tree-sitter-html", rev = "73a3947324f6efddf9e17c0ea58d454843590cc0" }
1130
1131[[language]]
1132name = "htmldjango"
1133scope = "source.htmldjango"
1134injection-regex = "htmldjango"
1135language-servers = ["djlsp", "vscode-html-language-server", "superhtml"]
1136file-types = []
1137roots = ["manage.py"]
1138
1139[language.auto-pairs]
1140'"' = '"'
1141'(' = ')'
1142'[' = ']'
1143'{' = '}'
1144'%' = '%'
1145'<' = '>'
1146
1147[[grammar]]
1148name = "htmldjango"
1149source = { git = "https://github.com/interdependence/tree-sitter-htmldjango", rev = "a10318892603d9a0b925df7cc7771a840304b997" }
1150
1151[[language]]
1152name = "python"
1153scope = "source.python"
1154injection-regex = "py(thon)?"
1155file-types = ["py", "pyi", "py3", "pyw", "ptl", "rpy", "cpy", "ipy", "pyt", { glob = ".python_history" }, { glob = ".pythonstartup" }, { glob = ".pythonrc" }, { glob = "*SConstruct" }, { glob = "*SConscript" }, { glob = "*sconstruct" }]
1156shebangs = ["python", "uv"]
1157roots = ["pyproject.toml", "setup.py", "poetry.lock", "pyrightconfig.json"]
1158comment-token = "#"
1159language-servers = ["ty", "ruff", "jedi", "pylsp", "zuban"]
1160# TODO: pyls needs utf-8 offsets
1161indent = { tab-width = 4, unit = " " }
1162
1163[[grammar]]
1164name = "python"
1165source = { git = "https://github.com/tree-sitter/tree-sitter-python", rev = "293fdc02038ee2bf0e2e206711b69c90ac0d413f" }
1166
1167[[language]]
1168name = "nickel"
1169scope = "source.nickel"
1170injection-regex = "nickel"
1171file-types = ["ncl"]
1172shebangs = []
1173comment-token = "#"
1174language-servers = [ "nls" ]
1175indent = { tab-width = 2, unit = " " }
1176
1177[language.auto-pairs]
1178'(' = ')'
1179'{' = '}'
1180'[' = ']'
1181'"' = '"'
1182
1183[[grammar]]
1184name = "nickel"
1185source = { git = "https://github.com/nickel-lang/tree-sitter-nickel", rev = "88d836a24b3b11c8720874a1a9286b8ae838d30a" }
1186
1187[[language]]
1188name = "nix"
1189scope = "source.nix"
1190injection-regex = "nix"
1191file-types = ["nix"]
1192shebangs = []
1193comment-token = "#"
1194block-comment-tokens = { start = "/*", end = "*/" }
1195language-servers = [ "nil", "nixd" ]
1196indent = { tab-width = 2, unit = " " }
1197formatter = { command = "nixfmt" }
1198
1199[[grammar]]
1200name = "nix"
1201source = { git = "https://github.com/numtide/tree-sitter-nix", rev = "70f34e95e30b7ebcc40815d4385d68576c4a15cd" }
1202
1203[[language]]
1204name = "ruby"
1205scope = "source.ruby"
1206injection-regex = "ruby"
1207file-types = [
1208 "rb",
1209 "rake",
1210 "irb",
1211 "gemspec",
1212 "rabl",
1213 "jbuilder",
1214 "jb",
1215 "podspec",
1216 "rjs",
1217 "rbi",
1218 "rbs",
1219 { glob = "rakefile" },
1220 { glob = "gemfile" },
1221 { glob = "Rakefile" },
1222 { glob = "Gemfile" },
1223 { glob = "Podfile" },
1224 { glob = "Vagrantfile" },
1225 { glob = "Brewfile" },
1226 { glob = "*.Brewfile" },
1227 { glob = "Guardfile" },
1228 { glob = "Capfile" },
1229 { glob = "Cheffile" },
1230 { glob = "Hobofile" },
1231 { glob = "Appraisals" },
1232 { glob = "Rantfile" },
1233 { glob = "Berksfile" },
1234 { glob = "Berksfile.lock" },
1235 { glob = "Thorfile" },
1236 { glob = "Puppetfile" },
1237 { glob = "Fastfile" },
1238 { glob = "Appfile" },
1239 { glob = "Deliverfile" },
1240 { glob = "Matchfile" },
1241 { glob = "Scanfile" },
1242 { glob = "Snapfile" },
1243 { glob = "Gymfile" },
1244 { glob = ".irbrc" },
1245]
1246shebangs = ["ruby"]
1247comment-token = "#"
1248language-servers = [ "ruby-lsp", "solargraph" ]
1249indent = { tab-width = 2, unit = " " }
1250
1251[[grammar]]
1252name = "ruby"
1253source = { git = "https://github.com/tree-sitter/tree-sitter-ruby", rev = "ad907a69da0c8a4f7a943a7fe012712208da6dee" }
1254
1255[[language]]
1256name = "rshtml"
1257file-types = [{ glob = "*.rs.html" }]
1258scope = "source.rshtml"
1259language-servers = [
1260 "rshtml-analyzer",
1261 "vscode-html-language-server",
1262 "superhtml",
1263]
1264roots = ["Cargo.lock", "Cargo.toml"]
1265block-comment-tokens = { start = "@*", end = "*@" }
1266indent = { tab-width = 2, unit = " " }
1267
1268[[grammar]]
1269name = "rshtml"
1270source = { git = "https://github.com/rshtml/tree-sitter-rshtml", rev = "89ae0f3a5e221a83aad243def85e822616d3b3c2" }
1271
1272[[language]]
1273name = "bash"
1274scope = "source.bash"
1275injection-regex = "(shell|bash|zsh|sh)"
1276file-types = [
1277 "sh",
1278 "bash",
1279 "ash",
1280 "dash",
1281 "ksh",
1282 "mksh",
1283 "zsh",
1284 "zshenv",
1285 "zlogin",
1286 "zlogout",
1287 "zprofile",
1288 "zshrc",
1289 "eclass",
1290 "ebuild",
1291 "bazelrc",
1292 "Renviron",
1293 "zsh-theme",
1294 "cshrc",
1295 "tcshrc",
1296 "bashrc_Apple_Terminal",
1297 "zshrc_Apple_Terminal",
1298 { glob = "i3/config" },
1299 { glob = "sway/config" },
1300 { glob = ".tmux.conf" },
1301 { glob = "tmux.conf" },
1302 { glob = ".sh_history" },
1303 { glob = ".bash_history" },
1304 { glob = ".bash_login" },
1305 { glob = ".bash_logout" },
1306 { glob = ".bash_profile" },
1307 { glob = ".bashrc" },
1308 { glob = ".profile" },
1309 { glob = ".zshenv" },
1310 { glob = ".zlogin" },
1311 { glob = ".zlogout" },
1312 { glob = ".zprofile" },
1313 { glob = ".zshrc" },
1314 { glob = ".zimrc" },
1315 { glob = "APKBUILD" },
1316 { glob = ".bash_aliases" },
1317 { glob = "bash_completion" },
1318 { glob = "bash-completion/completions/*" },
1319 { glob = "bash_completion.d/*" },
1320 { glob = "bin/activate" },
1321 { glob = ".Renviron" },
1322 { glob = ".xprofile" },
1323 { glob = ".xsession" },
1324 { glob = ".xsessionrc" },
1325 { glob = ".yashrc" },
1326 { glob = ".yash_profile" },
1327 { glob = ".hushlogin" },
1328 { glob = ".xinitrc" }, # ~/.xinitrc
1329 { glob = "xinitrc" }, # /etc/X11/xinit/xinitrc
1330 { glob = ".xserverrc" }, # ~/.xserverrc
1331 { glob = "xserverrc" }, # /etc/X11/xinit/xserverrc
1332 { glob = "direnvrc" }, # ~/.config/direnv/direnvrc
1333]
1334shebangs = ["sh", "bash", "dash", "zsh"]
1335comment-token = "#"
1336language-servers = [ "bash-language-server" ]
1337indent = { tab-width = 2, unit = " " }
1338
1339[[grammar]]
1340name = "bash"
1341source = { git = "https://github.com/tree-sitter/tree-sitter-bash", rev = "a06c2e4415e9bc0346c6b86d401879ffb44058f7" }
1342
1343[[language]]
1344name = "php"
1345scope = "source.php"
1346injection-regex = "php"
1347file-types = ["php", "inc", "php4", "php5", "phtml", "ctp"]
1348shebangs = ["php"]
1349roots = ["composer.json", "index.php"]
1350comment-token = "//"
1351block-comment-tokens = [{start = "/**", end = "*/"}, {start = "/*", end = "*/"}]
1352language-servers = [ "intelephense" ]
1353indent = { tab-width = 4, unit = " " }
1354
1355[[grammar]]
1356name = "php"
1357source = { git = "https://github.com/tree-sitter/tree-sitter-php", rev = "3f2465c217d0a966d41e584b42d75522f2a3149e", subpath = "php" }
1358
1359[[language]]
1360name = "php-only"
1361scope = "source.php-only"
1362injection-regex = "php-only"
1363file-types = []
1364indent = { tab-width = 4, unit = " " }
1365roots = ["composer.json", "index.php"]
1366
1367[[grammar]]
1368name = "php-only"
1369source = { git = "https://github.com/tree-sitter/tree-sitter-php", rev = "3f2465c217d0a966d41e584b42d75522f2a3149e", subpath = "php_only" }
1370
1371[[language]]
1372name = "blade"
1373scope = "source.blade.php"
1374file-types = [{ glob = "*.blade.php" }, "blade"]
1375injection-regex = "blade"
1376roots = ["composer.json", "index.php"]
1377
1378[[grammar]]
1379name = "blade"
1380source = { git = "https://github.com/EmranMR/tree-sitter-blade", rev = "5dbdcb0ccbe91e64b038b41545d3acc26c74907a" }
1381
1382[[language]]
1383name = "twig"
1384scope = "source.twig"
1385injection-regex = "twig"
1386file-types = ["twig"]
1387block-comment-tokens = { start = "{#", end = "#}" }
1388indent = { tab-width = 2, unit = " " }
1389
1390[[grammar]]
1391name = "twig"
1392source = { git = "https://github.com/gbprod/tree-sitter-twig", rev = "0afd9a6d808944e65a7be393e31868b85345735f" }
1393
1394[[language]]
1395name = "latex"
1396scope = "source.tex"
1397injection-regex = "tex"
1398file-types = ["tex", "dtx", "ins", "sty", "cls", "Rd", "bbx", "cbx"]
1399comment-token = "%"
1400language-servers = [ "texlab" ]
1401indent = { tab-width = 4, unit = "\t" }
1402
1403[[grammar]]
1404name = "latex"
1405source = { git = "https://github.com/latex-lsp/tree-sitter-latex", rev = "8c75e93cd08ccb7ce1ccab22c1fbd6360e3bcea6" }
1406
1407[[language]]
1408name = "bibtex"
1409scope = "source.bib"
1410injection-regex = "bib"
1411file-types = ["bib"]
1412comment-token = "%"
1413language-servers = [ "texlab" ]
1414indent = { tab-width = 4, unit = "\t" }
1415auto-format = true
1416
1417[language.formatter]
1418command = 'bibtex-tidy'
1419args = [
1420 "-",
1421 "--curly",
1422 "--drop-all-caps",
1423 "--remove-empty-fields",
1424 "--sort-fields",
1425 "--sort=year,author,id",
1426 "--strip-enclosing-braces",
1427 "--trailing-commas",
1428]
1429
1430[[grammar]]
1431name = "bibtex"
1432source = { git = "https://github.com/latex-lsp/tree-sitter-bibtex", rev = "8d04ed27b3bc7929f14b7df9236797dab9f3fa66" }
1433
1434[[language]]
1435name = "lean"
1436scope = "source.lean"
1437injection-regex = "lean"
1438file-types = ["lean"]
1439roots = [ "lakefile.lean", "lakefile.toml" ]
1440comment-token = "--"
1441block-comment-tokens = { start = "/-", end = "-/" }
1442language-servers = [ "lean" ]
1443indent = { tab-width = 2, unit = " " }
1444rulers = [101]
1445text-width = 100
1446
1447[language.auto-pairs]
1448'(' = ')'
1449'{' = '}'
1450'[' = ']'
1451'"' = '"'
1452'⟨' = '⟩'
1453
1454[[grammar]]
1455name = "lean"
1456source = { git = "https://github.com/Julian/tree-sitter-lean", rev = "d98426109258b266e1e92358c5f11716d2e8f638" }
1457
1458[[language]]
1459name = "lpf"
1460comment-token = "#"
1461scope = "source.lpf"
1462file-types = ["lpf"]
1463
1464[[grammar]]
1465name = "lpf"
1466source = { git = "https://gitlab.com/TheZoq2/tree-sitter-lpf", rev = "db7372e60c722ca7f12ab359e57e6bf7611ab126" }
1467
1468[[language]]
1469name = "julia"
1470scope = "source.julia"
1471injection-regex = "julia"
1472file-types = ["jl"]
1473shebangs = ["julia"]
1474roots = ["Manifest.toml", "Project.toml"]
1475comment-token = "#"
1476block-comment-tokens = { start = "#=", end = "=#" }
1477language-servers = [ "julia" ]
1478indent = { tab-width = 4, unit = " " }
1479
1480[[grammar]]
1481name = "julia"
1482source = { git = "https://github.com/tree-sitter/tree-sitter-julia", rev = "e0f9dcd180fdcfcfa8d79a3531e11d99e79321d3" }
1483
1484[[language]]
1485name = "java"
1486scope = "source.java"
1487injection-regex = "java"
1488file-types = ["java", "jav", "pde"]
1489roots = ["pom.xml", "build.gradle", "build.gradle.kts"]
1490language-servers = [ "jdtls" ]
1491indent = { tab-width = 2, unit = " " }
1492comment-tokens = ["//"]
1493block-comment-tokens = { start = "/*", end = "*/" }
1494
1495[[grammar]]
1496name = "java"
1497source = { git = "https://github.com/tree-sitter/tree-sitter-java", rev = "e10607b45ff745f5f876bfa3e94fbcc6b44bdc11" }
1498
1499[[language]]
1500name = "smali"
1501scope = "source.smali"
1502injection-regex = "smali"
1503file-types = ["smali"]
1504comment-token = "#"
1505roots = []
1506language-servers = [ "smalisp" ]
1507indent = { tab-width = 4, unit = " " }
1508
1509[[grammar]]
1510name = "smali"
1511source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-smali", rev = "fdfa6a1febc43c7467aa7e937b87b607956f2346" }
1512
1513[[language]]
1514name = "ledger"
1515scope = "source.ledger"
1516injection-regex = "ledger"
1517file-types = ["ldg", "ledger", "journal"]
1518comment-token = ";"
1519indent = { tab-width = 4, unit = " " }
1520
1521[[grammar]]
1522name = "ledger"
1523source = { git = "https://github.com/cbarrete/tree-sitter-ledger", rev = "1f864fb2bf6a87fe1b48545cc6adc6d23090adf7" }
1524
1525[[language]]
1526name = "beancount"
1527scope = "source.beancount"
1528injection-regex = "beancount"
1529file-types = ["beancount", "bean"]
1530comment-token = ";"
1531indent = { tab-width = 2, unit = " " }
1532language-servers = [ "beancount-language-server" ]
1533
1534[[grammar]]
1535name = "beancount"
1536source = { git = "https://github.com/polarmutex/tree-sitter-beancount", rev = "f3741a3a68ade59ec894ed84a64673494d2ba8f3" }
1537
1538[[language]]
1539name = "ocaml"
1540scope = "source.ocaml"
1541injection-regex = "ocaml"
1542file-types = ["ml"]
1543shebangs = ["ocaml", "ocamlrun", "ocamlscript"]
1544block-comment-tokens = { start = "(*", end = "*)" }
1545language-servers = [ "ocamllsp" ]
1546indent = { tab-width = 2, unit = " " }
1547
1548[language.auto-pairs]
1549'(' = ')'
1550'{' = '}'
1551'[' = ']'
1552'"' = '"'
1553
1554[[grammar]]
1555name = "ocaml"
1556source = { git = "https://github.com/tree-sitter/tree-sitter-ocaml", rev = "59e2b9f63526db8b95cf59dde6b2402ec2e48b52", subpath = "grammars/ocaml" }
1557
1558[[language]]
1559name = "ocaml-interface"
1560scope = "source.ocaml.interface"
1561file-types = ["mli"]
1562shebangs = []
1563block-comment-tokens = { start = "(*", end = "*)" }
1564comment-token = "(**)"
1565language-servers = [ "ocamllsp" ]
1566indent = { tab-width = 2, unit = " " }
1567
1568[language.auto-pairs]
1569'(' = ')'
1570'{' = '}'
1571'[' = ']'
1572'"' = '"'
1573
1574[[grammar]]
1575name = "ocaml-interface"
1576source = { git = "https://github.com/tree-sitter/tree-sitter-ocaml", rev = "59e2b9f63526db8b95cf59dde6b2402ec2e48b52", subpath = "grammars/interface" }
1577
1578[[language]]
1579name = "dune"
1580scope = "source.dune"
1581roots = ["dune-project"]
1582file-types = [{ glob = "dune-project" }, { glob = "dune" }]
1583comment-token = ";"
1584indent = { tab-width = 1, unit = " " }
1585grammar = "scheme"
1586auto-format = true
1587formatter = { command = "dune", args = ["format-dune-file"] }
1588
1589[language.auto-pairs]
1590'(' = ')'
1591'{' = '}'
1592'[' = ']'
1593'"' = '"'
1594
1595[[language]]
1596name = "lua"
1597injection-regex = "lua"
1598scope = "source.lua"
1599file-types = ["lua", "rockspec"]
1600shebangs = ["lua", "luajit"]
1601roots = [".luarc.json", ".luacheckrc", ".stylua.toml", "selene.toml", ".git"]
1602comment-tokens = ["--", "---"]
1603block-comment-tokens = { start = "--[[", end = "--]]" }
1604indent = { tab-width = 2, unit = " " }
1605language-servers = [ "lua-language-server" ]
1606
1607[[grammar]]
1608name = "lua"
1609source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-lua", rev = "10fe0054734eec83049514ea2e718b2a56acd0c9" }
1610
1611[[language]]
1612name = "luap"
1613scope = "source.luap"
1614file-types = []
1615injection-regex = "luap"
1616
1617[[grammar]]
1618name = "luap"
1619source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-luap", rev = "c134aaec6acf4fa95fe4aa0dc9aba3eacdbbe55a" }
1620
1621[[language]]
1622name = "lua-format-string"
1623scope = "source.lua-format-string"
1624file-types = []
1625injection-regex = "lua-format-string"
1626
1627[[grammar]]
1628name = "lua-format-string"
1629source = { git = "https://codeberg.org/kpbaks/tree-sitter-lua-format-string", rev = "b667c8cab109df307e1b4d56b0b43f5c4a353533" }
1630
1631[[grammar]]
1632name = "teal"
1633source = { git = "https://github.com/euclidianAce/tree-sitter-teal", rev = "3db655924b2ff1c54fdf6371b5425ea6b5dccefe" }
1634
1635[[language]]
1636name = "teal"
1637scope = "source.tl"
1638injection-regex = "teal"
1639file-types = ["tl"]
1640comment-tokens = "--"
1641block-comment-tokens = { start = "--[[", end = "--]]" }
1642roots = [ "tlconfig.lua" ]
1643language-servers = [ "teal-language-server" ]
1644
1645[[language]]
1646name = "svelte"
1647scope = "source.svelte"
1648injection-regex = "svelte"
1649file-types = ["svelte"]
1650indent = { tab-width = 2, unit = " " }
1651block-comment-tokens = { start = "<!--", end = "-->" }
1652language-servers = [ "svelteserver" ]
1653
1654[[grammar]]
1655name = "svelte"
1656source = { git = "https://github.com/themixednuts/tree-sitter-htmlx", rev = "80c3e698ec7379772c7f2aecb9b4b4c4ac52ff0b", subpath = "crates/tree-sitter-svelte" }
1657
1658[[language]]
1659name = "vue"
1660scope = "source.vue"
1661injection-regex = "vue"
1662file-types = ["vue"]
1663roots = ["package.json"]
1664block-comment-tokens = { start = "<!--", end = "-->" }
1665indent = { tab-width = 2, unit = " " }
1666language-servers = [ "vuels" ]
1667
1668[[grammar]]
1669name = "vue"
1670source = { git = "https://github.com/ikatyang/tree-sitter-vue", rev = "91fe2754796cd8fba5f229505a23fa08f3546c06" }
1671
1672[[language]]
1673name = "yaml"
1674scope = "source.yaml"
1675file-types = [
1676 "yml",
1677 "yaml",
1678 { glob = ".prettierrc" },
1679 { glob = ".clangd" },
1680 { glob = ".clang-format" },
1681 { glob = ".clang-tidy" },
1682 { glob = ".gem/credentials" },
1683 { glob = ".kube/config" },
1684 { glob = ".kube/kuberc" },
1685 { glob = "yarn.lock" },
1686 "sublime-syntax",
1687 "bu",
1688 { glob = ".stylelintrc" }, # https://stylelint.io/user-guide/configure/
1689 { glob = ".puppeteerrc" }, # https://pptr.dev/guides/configuration
1690]
1691comment-token = "#"
1692indent = { tab-width = 2, unit = " " }
1693language-servers = [ "yaml-language-server", "ansible-language-server" ]
1694injection-regex = "yml|yaml"
1695formatter = { command = "yamlfmt", args = ['-'] }
1696auto-format = true
1697
1698[[grammar]]
1699name = "yaml"
1700source = { git = "https://github.com/ikatyang/tree-sitter-yaml", rev = "0e36bed171768908f331ff7dff9d956bae016efb" }
1701
1702[[language]]
1703name = "nestedtext"
1704scope = "text.nested"
1705injection-regex = "nestedtext"
1706file-types = ["nt"]
1707comment-token = "#"
1708indent = { tab-width = 4, unit = " " }
1709grammar = "yaml"
1710
1711[[language]]
1712name = "haskell"
1713scope = "source.haskell"
1714injection-regex = "hs|haskell"
1715file-types = ["hs", "hs-boot", "hsc"]
1716roots = ["Setup.hs", "stack.yaml", "cabal.project", "hie.yaml"]
1717shebangs = ["runhaskell", "stack"]
1718comment-token = "--"
1719block-comment-tokens = { start = "{-", end = "-}" }
1720language-servers = [ "haskell-language-server" ]
1721indent = { tab-width = 2, unit = " " }
1722
1723[[grammar]]
1724name = "haskell"
1725source = { git = "https://github.com/tree-sitter/tree-sitter-haskell", rev = "0975ef72fc3c47b530309ca93937d7d143523628" }
1726
1727[[language]]
1728name = "haskell-persistent"
1729scope = "source.persistentmodels"
1730file-types = ["persistentmodels"]
1731comment-token = "--"
1732indent = { tab-width = 2, unit = " " }
1733
1734[[grammar]]
1735name = "haskell-persistent"
1736source = { git = "https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent", rev = "58a6ccfd56d9f1de8fb9f77e6c42151f8f0d0f3d" }
1737
1738[[language]]
1739name = "haskell-literate"
1740scope = "source.haskell-literate"
1741injection-regex = "lhs"
1742file-types = ["lhs"]
1743roots = ["Setup.hs", "stack.yaml", "cabal.project", "hie.yaml"]
1744shebangs = ["runhaskell", "stack"]
1745comment-token = "--"
1746block-comment-tokens = { start = "{-", end = "-}" }
1747language-servers = [ "haskell-language-server" ]
1748indent = { tab-width = 2, unit = " " }
1749
1750[[grammar]]
1751name = "haskell-literate"
1752source = { git = "https://github.com/LaurentRDC/tree-sitter-haskell-literate", rev = "8ad7bd1b1595f4cc1a4ccc775d4a3c460f43a596" }
1753
1754[[language]]
1755name = "purescript"
1756scope = "source.purescript"
1757injection-regex = "purescript"
1758file-types = ["purs"]
1759roots = ["spago.yaml", "spago.dhall", "bower.json"]
1760comment-token = "--"
1761block-comment-tokens = { start = "{-", end = "-}" }
1762language-servers = [ "purescript-language-server" ]
1763indent = { tab-width = 2, unit = " " }
1764auto-format = true
1765formatter = { command = "purs-tidy", args = ["format"] }
1766
1767[[grammar]]
1768name = "purescript"
1769source = { git = "https://github.com/postsolar/tree-sitter-purescript", rev = "f541f95ffd6852fbbe88636317c613285bc105af" }
1770
1771[[language]]
1772name = "zig"
1773scope = "source.zig"
1774injection-regex = "zig"
1775file-types = ["zig", "zon"]
1776roots = ["build.zig"]
1777auto-format = true
1778comment-tokens = ["//", "///", "//!"]
1779language-servers = [ "zls" ]
1780indent = { tab-width = 4, unit = " " }
1781formatter = { command = "zig" , args = ["fmt", "--stdin"] }
1782
1783[language.debugger]
1784name = "lldb-dap"
1785transport = "stdio"
1786command = "lldb-dap"
1787
1788[[language.debugger.templates]]
1789name = "binary"
1790request = "launch"
1791completion = [ { name = "binary", completion = "filename" } ]
1792args = { console = "internalConsole", program = "{0}" }
1793
1794[[language.debugger.templates]]
1795name = "attach"
1796request = "attach"
1797completion = [ "pid" ]
1798args = { console = "internalConsole", pid = "{0}" }
1799
1800[[language.debugger.templates]]
1801name = "gdbserver attach"
1802request = "attach"
1803completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
1804args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
1805
1806[[grammar]]
1807name = "zig"
1808source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-zig", rev = "6479aa13f32f701c383083d8b28360ebd682fb7d" }
1809
1810[[grammar]]
1811name = "picat"
1812source = { git = "https://github.com/dlr-ft/tree-sitter-picat", rev = "ecb6b07d280f2cef8214bc4b999ad83ac1d9205c" }
1813
1814[[language]]
1815name = "picat"
1816scope = "source.picat"
1817injection-regex = "(pi|picat)"
1818language-id = "picat"
1819file-types = ["pi", "picat"]
1820shebangs = ["picat"]
1821comment-token = "%"
1822block-comment-tokens = { start = "/*", end = "*/" }
1823indent = { tab-width = 4, unit = " " }
1824
1825[[language]]
1826name = "prolog"
1827scope = "source.prolog"
1828file-types = ["pl", "prolog"]
1829shebangs = ["swipl"]
1830comment-token = "%"
1831block-comment-tokens = { start = "/*", end = "*/" }
1832language-servers = [ "swipl" ]
1833
1834[[grammar]]
1835name = "prolog"
1836source = { git = "https://codeberg.org/foxy/tree-sitter-prolog", subpath = "grammars/prolog", rev = "d8d415f6a1cf80ca138524bcc395810b176d40fa" }
1837
1838[[language]]
1839name = "tsq"
1840scope = "source.tsq"
1841file-types = [{ glob = "queries/*.scm" }, { glob = "injections.scm" }, { glob = "highlights.scm" }, { glob = "indents.scm" }, { glob = "textobjects.scm" }, { glob = "locals.scm" }, { glob = "tags.scm" }]
1842comment-token = ";"
1843injection-regex = "tsq"
1844language-servers = ["ts_query_ls"]
1845grammar = "query"
1846indent = { tab-width = 2, unit = " " }
1847
1848[language.auto-pairs]
1849'(' = ')'
1850'[' = ']'
1851'"' = '"'
1852
1853[[grammar]]
1854name = "query"
1855source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-query", rev = "a6674e279b14958625d7a530cabe06119c7a1532" }
1856
1857[[language]]
1858name = "cmake"
1859scope = "source.cmake"
1860file-types = ["cmake", { glob = "CMakeLists.txt" }]
1861comment-token = "#"
1862block-comment-tokens = { start = "#[[", end = "]]" }
1863indent = { tab-width = 2, unit = " " }
1864language-servers = ["neocmakelsp", "cmake-language-server"]
1865injection-regex = "cmake"
1866
1867[[grammar]]
1868name = "cmake"
1869source = { git = "https://github.com/uyha/tree-sitter-cmake", rev = "c7b2a71e7f8ecb167fad4c97227c838439280175" }
1870
1871[[language]]
1872name = "make"
1873scope = "source.make"
1874file-types = [{ glob = "Makefile" }, { glob = "makefile" }, "make", "mk", "mak", {glob = "GNUmakefile" }, { glob = "OCamlMakefile" }]
1875shebangs = ["make", "gmake"]
1876injection-regex = "(make|makefile|Makefile|mk)"
1877comment-token = "#"
1878indent = { tab-width = 4, unit = "\t" }
1879
1880[[grammar]]
1881name = "make"
1882source = { git = "https://github.com/alemuller/tree-sitter-make", rev = "a4b9187417d6be349ee5fd4b6e77b4172c6827dd" }
1883
1884[[language]]
1885name = "glsl"
1886scope = "source.glsl"
1887file-types = ["glsl", "vert", "tesc", "tese", "geom", "frag", "comp" ]
1888comment-token = "//"
1889block-comment-tokens = { start = "/*", end = "*/" }
1890indent = { tab-width = 4, unit = " " }
1891language-servers = [ "glsl_analyzer", "glsld" ]
1892injection-regex = "glsl"
1893
1894[[grammar]]
1895name = "glsl"
1896source = { git = "https://github.com/theHamsta/tree-sitter-glsl", rev = "24a6c8ef698e4480fecf8340d771fbcb5de8fbb4" }
1897
1898[[language]]
1899name = "penrose"
1900scope = "source.penrose"
1901auto-format = false
1902file-types = ["substance", "style", "domain"]
1903comment-tokens = "--"
1904indent = { tab-width = 2, unit = " " }
1905
1906[[grammar]]
1907name = "penrose"
1908source = { git = "https://github.com/klukaszek/tree-sitter-penrose", rev = "d9368ff7f743b2ac2145a3342db13b1ad950cba5" }
1909
1910[[language]]
1911name = "perl"
1912scope = "source.perl"
1913file-types =[
1914 "pl",
1915 "pm",
1916 "t",
1917 "psgi",
1918 "raku",
1919 "rakumod",
1920 "rakutest",
1921 "rakudoc",
1922 "nqp",
1923 "p6",
1924 "pl6",
1925 "pm6",
1926 {glob = "latexmkrc"},
1927 {glob = ".latexmkrc"},
1928]
1929shebangs = ["perl"]
1930comment-token = "#"
1931language-servers = [ "perlnavigator" ]
1932indent = { tab-width = 2, unit = " " }
1933
1934[[grammar]]
1935name = "perl"
1936source = { git = "https://github.com/tree-sitter-perl/tree-sitter-perl", rev = "72a08a496a23212f23802490ef6f4700d68cfd0e" }
1937
1938[[language]]
1939name = "embedded-perl"
1940scope = "text.html.ep"
1941injection-regex = "embedded-perl"
1942file-types = ["ep", { glob = "*.html.ep" }]
1943comment-token = "%#"
1944indent = { tab-width = 2, unit = " " }
1945
1946[[grammar]]
1947name = "embedded-perl"
1948source = { git = "https://github.com/jobindex-open/tree-sitter-embedded-perl", rev = "5557a53f1f59a67cbd54c25bacd0c56d43158818" }
1949
1950[[language]]
1951name = "pod"
1952scope = "source.pod"
1953injection-regex = "pod"
1954file-types = ["pod"]
1955
1956[[grammar]]
1957name = "pod"
1958source = { git = "https://github.com/tree-sitter-perl/tree-sitter-pod", rev = "cd1931314beafeebc957964c65802961e283411e" }
1959
1960[[language]]
1961name = "racket"
1962scope = "source.racket"
1963file-types = ["rkt", "rktd", "rktl", "scrbl", "zuo"]
1964shebangs = ["racket", "zuo"]
1965comment-token = ";"
1966indent = { tab-width = 2, unit = " " }
1967block-comment-tokens = { start = "#|", end = "|#" }
1968language-servers = [ "racket" ]
1969grammar = "scheme"
1970
1971[[language]]
1972name = "common-lisp"
1973scope = "source.commonlisp"
1974file-types = ["lisp", "asd", "cl", "l", "lsp", "ny", "podsl", "ros", "sexp"]
1975shebangs = ["lisp", "sbcl", "ccl", "clisp", "ecl"]
1976comment-token = ";"
1977indent = { tab-width = 2, unit = " " }
1978language-servers = [ "cl-lsp" ]
1979grammar = "commonlisp"
1980
1981[[grammar]]
1982name = "commonlisp"
1983source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-commonlisp", rev = "32323509b3d9fe96607d151c2da2c9009eb13a2f" }
1984
1985[language.auto-pairs]
1986'(' = ')'
1987'{' = '}'
1988'[' = ']'
1989'"' = '"'
1990
1991[[language]]
1992name = "comment"
1993scope = "scope.comment"
1994file-types = []
1995injection-regex = "comment"
1996
1997[[grammar]]
1998name = "comment"
1999source = { git = "https://github.com/stsewd/tree-sitter-comment", rev = "66272d2b6c73fb61157541b69dd0a7ce7b42a5ad" }
2000
2001[[language]]
2002name = "wesl"
2003scope = "source.wesl"
2004file-types = ["wesl"]
2005comment-token = "//"
2006block-comment-tokens = { start = "/*", end = "*/" }
2007indent = { tab-width = 4, unit = " " }
2008
2009[[grammar]]
2010name = "wesl"
2011source = { git = "https://github.com/wgsl-tooling-wg/tree-sitter-wesl", rev = "94ee6122680ef8ce2173853ca7c99f7aaeeda8ce" }
2012
2013[[language]]
2014name = "wgsl"
2015scope = "source.wgsl"
2016file-types = ["wgsl"]
2017comment-token = "//"
2018block-comment-tokens = { start = "/*", end = "*/" }
2019language-servers = [ "wgsl-analyzer" ]
2020indent = { tab-width = 4, unit = " " }
2021
2022[[grammar]]
2023name = "wgsl"
2024source = { git = "https://github.com/szebniok/tree-sitter-wgsl", rev = "272e89ef2aeac74178edb9db4a83c1ffef80a463" }
2025
2026[[language]]
2027name = "llvm"
2028scope = "source.llvm"
2029file-types = ["ll"]
2030comment-token = ";"
2031indent = { tab-width = 2, unit = " " }
2032injection-regex = "llvm"
2033
2034[[grammar]]
2035name = "llvm"
2036source = { git = "https://github.com/benwilliamgraham/tree-sitter-llvm", rev = "c14cb839003348692158b845db9edda201374548" }
2037
2038[[language]]
2039name = "llvm-mir"
2040scope = "source.llvm_mir"
2041file-types = []
2042comment-token = ";"
2043indent = { tab-width = 2, unit = " " }
2044injection-regex = "mir"
2045
2046[[grammar]]
2047name = "llvm-mir"
2048source = { git = "https://github.com/Flakebi/tree-sitter-llvm-mir", rev = "d166ff8c5950f80b0a476956e7a0ad2f27c12505" }
2049
2050[[language]]
2051name = "llvm-mir-yaml"
2052# TODO allow languages to point to their grammar like so:
2053#
2054# grammar = "yaml"
2055scope = "source.yaml"
2056file-types = ["mir"]
2057comment-token = "#"
2058indent = { tab-width = 2, unit = " " }
2059
2060[[language]]
2061name = "tablegen"
2062scope = "source.tablegen"
2063file-types = ["td"]
2064comment-token = "//"
2065block-comment-tokens = { start = "/*", end = "*/" }
2066indent = { tab-width = 2, unit = " " }
2067injection-regex = "tablegen"
2068
2069[[grammar]]
2070name = "tablegen"
2071source = { git = "https://github.com/Flakebi/tree-sitter-tablegen", rev = "3e9c4822ab5cdcccf4f8aa9dcd42117f736d51d9" }
2072
2073[[language]]
2074name = "mail"
2075scope = "text.mail"
2076file-types = ["eml"]
2077injection-regex = "mail|eml|email"
2078
2079[[grammar]]
2080name = "mail"
2081source = { git = "https://codeberg.org/ficd/tree-sitter-mail", rev = "5eddbfdbec4c893182c79047499901c196332e78" }
2082
2083[[language]]
2084name = "markdown"
2085scope = "source.md"
2086injection-regex = "md|markdown"
2087file-types = ["md", "livemd", "markdown", "mdx", "mkd", "mkdn", "mdwn", "mdown", "markdn", "mdtxt", "mdtext", "workbook", { glob = "PULLREQ_EDITMSG" }]
2088roots = [".marksman.toml"]
2089language-servers = [ "marksman", "markdown-oxide", "rumdl" ]
2090indent = { tab-width = 2, unit = " " }
2091block-comment-tokens = { start = "<!--", end = "-->" }
2092word-completion.trigger-length = 4
2093
2094[language.auto-pairs]
2095'(' = ')'
2096'{' = '}'
2097'[' = ']'
2098'"' = '"'
2099"'" = "'"
2100'`' = '`'
2101'‘' = '’'
2102'«' = '»'
2103'“' = '”'
2104
2105[[grammar]]
2106name = "markdown"
2107source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-markdown", rev = "f969cd3ae3f9fbd4e43205431d0ae286014c05b5", subpath = "tree-sitter-markdown" }
2108
2109[[language]]
2110name = "markdown-rustdoc"
2111scope = "source.markdown-rustdoc"
2112grammar = "markdown"
2113injection-regex = "markdown-rustdoc"
2114file-types = []
2115indent = { tab-width = 2, unit = " " }
2116block-comment-tokens = { start = "<!--", end = "-->" }
2117
2118[[language]]
2119name = "markdown.inline"
2120scope = "source.markdown.inline"
2121injection-regex = "markdown\\.inline"
2122file-types = []
2123grammar = "markdown_inline"
2124
2125[[grammar]]
2126name = "markdown_inline"
2127source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-markdown", rev = "f969cd3ae3f9fbd4e43205431d0ae286014c05b5", subpath = "tree-sitter-markdown-inline" }
2128
2129[[language]]
2130name = "djot"
2131scope = "source.djot"
2132injection-regex = "dj|djot"
2133file-types = ["dj", "djot"]
2134indent = { tab-width = 2, unit = " " }
2135block-comment-tokens = { start = "{%", end = "%}" }
2136
2137[[grammar]]
2138name = "djot"
2139source = { git = "https://github.com/treeman/tree-sitter-djot", rev = "759a61896ccb2200a4becec4443e768638a21d58" }
2140
2141[[language]]
2142name = "dart"
2143scope = "source.dart"
2144file-types = ["dart"]
2145roots = ["pubspec.yaml"]
2146auto-format = true
2147comment-tokens = ["//", "///"]
2148block-comment-tokens = { start = "/*", end = "*/" }
2149language-servers = [ "dart" ]
2150indent = { tab-width = 2, unit = " " }
2151
2152[[grammar]]
2153name = "dart"
2154source = { git = "https://github.com/UserNobody14/tree-sitter-dart", rev = "a9bdfa3db2fbc9b9f12c93450d04a671f33a5102" }
2155
2156[[language]]
2157name = "scala"
2158scope = "source.scala"
2159roots = ["build.sbt", "build.sc", "build.gradle", "build.gradle.kts", "pom.xml", ".scala-build"]
2160file-types = ["scala", "sbt", "sc"]
2161comment-token = "//"
2162block-comment-tokens = { start = "/*", end = "*/" }
2163indent = { tab-width = 2, unit = " " }
2164language-servers = [ "metals" ]
2165
2166[[grammar]]
2167name = "scala"
2168source = { git = "https://github.com/tree-sitter/tree-sitter-scala", rev = "4d081d98670ff6e98ca42c085294fc75eec15e1d" }
2169
2170[[language]]
2171name = "dockerfile"
2172scope = "source.dockerfile"
2173injection-regex = "docker|dockerfile"
2174roots = ["Dockerfile", "Containerfile"]
2175file-types = [
2176 "Dockerfile",
2177 { glob = "Dockerfile" },
2178 { glob = "Dockerfile.*" },
2179 "dockerfile",
2180 { glob = "dockerfile" },
2181 { glob = "dockerfile.*" },
2182 "Containerfile",
2183 { glob = "Containerfile" },
2184 { glob = "Containerfile.*" },
2185 "containerfile",
2186 { glob = "containerfile" },
2187 { glob = "containerfile.*" },
2188]
2189comment-token = "#"
2190indent = { tab-width = 4, unit = " " }
2191formatter = { command = "dockerfmt" }
2192language-servers = [ "docker-langserver", "docker-language-server" ]
2193
2194[[grammar]]
2195name = "dockerfile"
2196source = { git = "https://github.com/camdencheek/tree-sitter-dockerfile", rev = "971acdd908568b4531b0ba28a445bf0bb720aba5" }
2197
2198[[language]]
2199name = "docker-compose"
2200language-id = "dockercompose"
2201scope = "source.yaml.docker-compose"
2202roots = ["docker-compose.yaml", "docker-compose.yml", "compose.yaml", "compose.yml"]
2203language-servers = [ "docker-compose-langserver", "yaml-language-server", "docker-language-server" ]
2204file-types = [{ glob = "docker-compose.yaml" }, { glob = "docker-compose.yml" }, { glob = "compose.yaml" }, { glob = "compose.yml" }]
2205comment-token = "#"
2206indent = { tab-width = 2, unit = " " }
2207grammar = "yaml"
2208
2209[[language]]
2210name = "git-commit"
2211scope = "git.commitmsg"
2212file-types = [{ glob = "COMMIT_EDITMSG" }, { glob = "MERGE_MSG" }, { glob = "TAG_EDITMSG" }]
2213comment-token = "#"
2214indent = { tab-width = 4, unit = " " }
2215rulers = [51, 73]
2216text-width = 72
2217grammar = "gitcommit"
2218language-servers = [ "commit-lsp" ]
2219
2220[[grammar]]
2221name = "gitcommit"
2222source = { git = "https://github.com/gbprod/tree-sitter-gitcommit", rev = "49715a9e6f19ce3d33b875aacdd6ad8ddaee0ffe" }
2223
2224[[language]]
2225name = "git-notes"
2226scope = "git.notesmsg"
2227file-types = [{ glob = "NOTES_EDITMSG" }, { glob = "EDIT_DESCRIPTION" }]
2228comment-token = "#"
2229indent = { tab-width = 4, unit = " " }
2230rulers = [73]
2231text-width = 72
2232grammar = "gitcommit"
2233
2234[[language]]
2235name = "github-action"
2236scope = "source.yaml.github-action"
2237language-servers = [ "actions-language-server", "yaml-language-server", "zizmor" ]
2238file-types = [{ glob = ".github/workflows/*.yaml" }, { glob = ".github/workflows/*.yml" }]
2239comment-token = "#"
2240indent = { tab-width = 2, unit = " " }
2241grammar = "yaml"
2242
2243[[language]]
2244name = "diff"
2245scope = "source.diff"
2246file-types = ["diff", "patch", "rej"]
2247injection-regex = "diff"
2248comment-token = "#"
2249indent = { tab-width = 2, unit = " " }
2250
2251[[grammar]]
2252name = "diff"
2253source = { git = "https://github.com/the-mikedavis/tree-sitter-diff", rev = "2520c3f934b3179bb540d23e0ef45f75304b5fed" }
2254
2255[[language]]
2256name = "git-rebase"
2257scope = "source.gitrebase"
2258file-types = [{ glob = "git-rebase-todo" }]
2259injection-regex = "git-rebase"
2260comment-token = "#"
2261indent = { tab-width = 2, unit = "\t" }
2262
2263[[grammar]]
2264name = "git-rebase"
2265source = { git = "https://github.com/the-mikedavis/tree-sitter-git-rebase", rev = "32686d6b72980b36f876ae2d07719c9c3ed154e2" }
2266
2267[[language]]
2268name = "regex"
2269scope = "source.regex"
2270injection-regex = "regex"
2271file-types = ["regex", { glob = ".Rbuildignore" }]
2272
2273[[grammar]]
2274name = "regex"
2275source = { git = "https://github.com/tree-sitter/tree-sitter-regex", rev = "b2ac15e27fce703d2f37a79ccd94a5c0cbe9720b" }
2276
2277[[language]]
2278name = "git-config"
2279scope = "source.gitconfig"
2280file-types = ["gitconfig", { glob = ".gitmodules" }, { glob = "gitconfig" }, { glob = ".gitconfig" }, { glob = ".git/config" }, { glob = ".config/git/config" }, { glob = ".git/modules/*/config" }, { glob = "config.worktree" }]
2281injection-regex = "git-config"
2282comment-token = "#"
2283indent = { tab-width = 4, unit = "\t" }
2284
2285[[grammar]]
2286name = "git-config"
2287source = { git = "https://github.com/the-mikedavis/tree-sitter-git-config", rev = "0fbc9f99d5a28865f9de8427fb0672d66f9d83a5" }
2288
2289[[language]]
2290name = "git-attributes"
2291scope = "source.gitattributes"
2292file-types = [{ glob = ".gitattributes" }, { glob = ".config/git/attributes" }]
2293injection-regex = "git-attributes"
2294comment-token = "#"
2295grammar = "gitattributes"
2296
2297[[grammar]]
2298name = "gitattributes"
2299source = { git = "https://github.com/mtoohey31/tree-sitter-gitattributes", rev = "3dd50808e3096f93dccd5e9dc7dc3dba2eb12dc4" }
2300
2301[[language]]
2302name = "git-ignore"
2303scope = "source.gitignore"
2304file-types = [{ glob = ".gitignore_global" }, { glob = "git/ignore" }, { glob = ".git/info/exclude" }, { glob = ".ignore" }, { glob = "CODEOWNERS" }, { glob = ".config/helix/ignore" }, { glob = ".helix/ignore" }, { glob = ".*ignore" }, { glob = ".git-blame-ignore-revs" }]
2305injection-regex = "git-ignore"
2306comment-token = "#"
2307grammar = "gitignore"
2308
2309[[grammar]]
2310name = "gitignore"
2311source = { git = "https://github.com/shunsambongi/tree-sitter-gitignore", rev = "f4685bf11ac466dd278449bcfe5fd014e94aa504" }
2312
2313[[language]]
2314name = "graphql"
2315scope = "source.graphql"
2316injection-regex = "graphql"
2317file-types = ["gql", "graphql", "graphqls"]
2318language-servers = [ "graphql-language-service" ]
2319comment-token = "#"
2320block-comment-tokens = { start = "\"\"\"", end = "\"\"\"" }
2321indent = { tab-width = 2, unit = " " }
2322
2323[[grammar]]
2324name = "graphql"
2325source = { git = "https://github.com/bkegley/tree-sitter-graphql", rev = "5e66e961eee421786bdda8495ed1db045e06b5fe" }
2326
2327[[language]]
2328name = "elm"
2329scope = "source.elm"
2330injection-regex = "elm"
2331file-types = ["elm"]
2332roots = ["elm.json"]
2333auto-format = true
2334comment-token = "--"
2335block-comment-tokens = { start = "{-", end = "-}" }
2336language-servers = [ "elm-language-server" ]
2337indent = { tab-width = 4, unit = " " }
2338
2339[[grammar]]
2340name = "elm"
2341source = { git = "https://github.com/elm-tooling/tree-sitter-elm", rev = "6d9511c28181db66daee4e883f811f6251220943" }
2342
2343[[language]]
2344name = "iex"
2345scope = "source.iex"
2346injection-regex = "iex"
2347file-types = ["iex"]
2348comment-token = "#"
2349
2350[[grammar]]
2351name = "iex"
2352source = { git = "https://github.com/elixir-lang/tree-sitter-iex", rev = "39f20bb51f502e32058684e893c0c0b00bb2332c" }
2353
2354[[language]]
2355name = "rescript"
2356scope = "source.rescript"
2357injection-regex = "rescript"
2358file-types = ["res"]
2359roots = ["bsconfig.json"]
2360auto-format = true
2361comment-token = "//"
2362block-comment-tokens = { start = "/*", end = "*/" }
2363language-servers = [ "rescript-language-server" ]
2364indent = { tab-width = 2, unit = " " }
2365
2366[[grammar]]
2367name = "rescript"
2368source = { git = "https://github.com/rescript-lang/tree-sitter-rescript", rev = "5e2a44a9d886b0a509f5bfd0437d33b4871fbac5" }
2369
2370[[language]]
2371name = "erlang"
2372scope = "source.erlang"
2373injection-regex = "erl(ang)?"
2374file-types = ["erl", "hrl", "app", { glob = "rebar.config" }, { glob = "rebar.lock" }, { glob = "*.app.src" }]
2375roots = ["rebar.config"]
2376shebangs = ["escript"]
2377comment-token = "%%"
2378indent = { tab-width = 4, unit = " " }
2379language-servers = [
2380 { name = "erlang-ls", except-features = ["document-symbols", "workspace-symbols"] },
2381 { name = "elp", except-features = ["document-symbols", "workspace-symbols"] }
2382]
2383
2384[[grammar]]
2385name = "erlang"
2386source = { git = "https://github.com/the-mikedavis/tree-sitter-erlang", rev = "d85b18e76962d6a3ba131bc5b514d77558e82762" }
2387
2388[[language]]
2389name = "kotlin"
2390scope = "source.kotlin"
2391file-types = ["kt", "kts"]
2392roots = ["settings.gradle", "settings.gradle.kts"]
2393comment-token = "//"
2394block-comment-tokens = { start = "/*", end = "*/" }
2395indent = { tab-width = 4, unit = " " }
2396language-servers = [ "kotlin-language-server" ]
2397
2398[[grammar]]
2399name = "kotlin"
2400source = { git = "https://github.com/fwcd/tree-sitter-kotlin", rev = "f66d2908542e93c0204c6c241f794afe4e9cd5d1" }
2401
2402[[language]]
2403name = "hcl"
2404scope = "source.hcl"
2405injection-regex = "(hcl|tf|nomad)"
2406language-id = "terraform"
2407file-types = ["hcl", "tf", "nomad"]
2408comment-token = "#"
2409block-comment-tokens = { start = "/*", end = "*/" }
2410indent = { tab-width = 2, unit = " " }
2411language-servers = [ "terraform-ls" ]
2412auto-format = true
2413
2414[[grammar]]
2415name = "hcl"
2416source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-hcl", rev = "64ad62785d442eb4d45df3a1764962dafd5bc98b" }
2417
2418[[language]]
2419name = "tfvars"
2420scope = "source.tfvars"
2421language-id = "terraform-vars"
2422file-types = ["tfvars"]
2423comment-token = "#"
2424block-comment-tokens = { start = "/*", end = "*/" }
2425indent = { tab-width = 2, unit = " " }
2426language-servers = [ "terraform-ls" ]
2427auto-format = true
2428grammar = "hcl"
2429
2430[[language]]
2431name = "org"
2432scope = "source.org"
2433injection-regex = "org"
2434file-types = ["org"]
2435indent = { tab-width = 2, unit = " " }
2436
2437[[grammar]]
2438name = "org"
2439source = { git = "https://github.com/milisims/tree-sitter-org", rev = "698bb1a34331e68f83fc24bdd1b6f97016bb30de" }
2440
2441[[language]]
2442name = "solidity"
2443scope = "source.sol"
2444injection-regex = "(sol|solidity)"
2445file-types = ["sol"]
2446comment-token = "//"
2447block-comment-tokens = { start = "/*", end = "*/" }
2448indent = { tab-width = 4, unit = " " }
2449language-servers = [ "solc" ]
2450
2451[[grammar]]
2452name = "solidity"
2453source = { git = "https://github.com/JoranHonig/tree-sitter-solidity", rev = "048fe686cb1fde267243739b8bdbec8fc3a55272" }
2454
2455[[language]]
2456name = "gleam"
2457scope = "source.gleam"
2458injection-regex = "gleam"
2459file-types = ["gleam"]
2460roots = ["gleam.toml"]
2461comment-tokens = ["//", "///", "////"]
2462indent = { tab-width = 2, unit = " " }
2463language-servers = [ "gleam" ]
2464auto-format = true
2465
2466[[grammar]]
2467name = "gleam"
2468source = { git = "https://github.com/gleam-lang/tree-sitter-gleam", rev = "c610c282ef73f830d80c1f0999dce8e83f024ef5" }
2469
2470[[language]]
2471name = "quarto"
2472scope = "source.qmd"
2473language-id = "qmd"
2474injection-regex = "qmd"
2475file-types = ["qmd"]
2476roots = ["_quarto.yml"]
2477indent = { tab-width = 2, unit = " " }
2478grammar = "markdown"
2479block-comment-tokens = { start = "<!--", end = "-->" }
2480
2481[[language]]
2482name = "ron"
2483scope = "source.ron"
2484injection-regex = "ron"
2485file-types = ["ron"]
2486comment-token = "//"
2487block-comment-tokens = { start = "/*", end = "*/" }
2488indent = { tab-width = 4, unit = " " }
2489roots = [ "Cargo.toml" ]
2490language-servers = [ "ron-lsp" ]
2491
2492[[grammar]]
2493name = "ron"
2494source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-ron", rev = "78938553b93075e638035f624973083451b29055" }
2495
2496[[language]]
2497name = "robot"
2498language-id="robotframework"
2499scope = "source.robot"
2500injection-regex = "robot"
2501file-types = ["robot", "resource"]
2502comment-token = "#"
2503indent = { tab-width = 4, unit = " " }
2504language-servers = [ "robotcode", "robotframework_ls" ]
2505
2506[[grammar]]
2507name = "robot"
2508source = { git = "https://github.com/Hubro/tree-sitter-robot", rev = "0f010f439e7873db42d3aabae8a48a8f61a89910" }
2509
2510[[language]]
2511name = "r"
2512scope = "source.r"
2513injection-regex = "(r|R)"
2514file-types = ["r", "R", { glob = ".Rprofile" }, { glob = "Rprofile.site" }, { glob = ".RHistory" }]
2515shebangs = ["r", "R"]
2516comment-tokens = ["#", "#'"]
2517indent = { tab-width = 2, unit = " " }
2518language-servers = [ "r" ]
2519
2520[[grammar]]
2521name = "r"
2522source = { git = "https://github.com/r-lib/tree-sitter-r", rev = "0e6ef7741712c09dc3ee6e81c42e919820cc65ef" }
2523
2524[[language]]
2525name = "rmarkdown"
2526scope = "source.rmd"
2527language-id = "rmd"
2528injection-regex = "(r|R)md"
2529file-types = ["rmd", "Rmd"]
2530indent = { tab-width = 2, unit = " " }
2531grammar = "markdown"
2532block-comment-tokens = { start = "<!--", end = "-->" }
2533language-servers = [ "r" ]
2534
2535[[language]]
2536name = "swift"
2537scope = "source.swift"
2538injection-regex = "swift"
2539file-types = ["swift", "swiftinterface"]
2540roots = [ "Package.swift" ]
2541indent = { tab-width = 2, unit = " " }
2542comment-token = "//"
2543block-comment-tokens = { start = "/*", end = "*/" }
2544formatter = { command = "swift-format" }
2545language-servers = [ "sourcekit-lsp" ]
2546
2547[[grammar]]
2548name = "swift"
2549source = { git = "https://github.com/alex-pinkus/tree-sitter-swift", rev = "7b7909f2f6b9414be0958275f4c8e5d69c3bca43" }
2550
2551[[language]]
2552name = "erb"
2553scope = "text.html.erb"
2554injection-regex = "erb"
2555file-types = ["erb"]
2556block-comment-tokens = { start = "<!--", end = "-->" }
2557indent = { tab-width = 2, unit = " " }
2558grammar = "embedded-template"
2559
2560[[language]]
2561name = "ejs"
2562scope = "text.html.ejs"
2563injection-regex = "ejs"
2564file-types = ["ejs"]
2565block-comment-tokens = { start = "<!--", end = "-->" }
2566indent = { tab-width = 2, unit = " " }
2567grammar = "embedded-template"
2568
2569[[grammar]]
2570name = "embedded-template"
2571source = { git = "https://github.com/tree-sitter/tree-sitter-embedded-template", rev = "5bce9d580d3b78f48e13e331f69dfa0abd4ff68b" }
2572
2573[[language]]
2574name = "eex"
2575scope = "source.eex"
2576injection-regex = "eex"
2577file-types = ["eex"]
2578roots = ["mix.exs", "mix.lock"]
2579block-comment-tokens = { start = "<!--", end = "-->" }
2580indent = { tab-width = 2, unit = " " }
2581
2582[[grammar]]
2583name = "eex"
2584source = { git = "https://github.com/connorlay/tree-sitter-eex", rev = "f742f2fe327463335e8671a87c0b9b396905d1d1" }
2585
2586[[language]]
2587name = "heex"
2588scope = "source.heex"
2589injection-regex = "heex"
2590file-types = ["heex"]
2591roots = ["mix.exs", "mix.lock"]
2592block-comment-tokens = { start = "<!--", end = "-->" }
2593indent = { tab-width = 2, unit = " " }
2594language-servers = [ "elixir-ls", "expert" ]
2595
2596[[grammar]]
2597name = "heex"
2598source = { git = "https://github.com/phoenixframework/tree-sitter-heex", rev = "f6b83f305a755cd49cf5f6a66b2b789be93dc7b9" }
2599
2600[[language]]
2601name = "sql"
2602scope = "source.sql"
2603file-types = ["sql", "dsql"]
2604comment-token = "--"
2605block-comment-tokens = { start = "/*", end = "*/" }
2606indent = { tab-width = 4, unit = " " }
2607injection-regex = "sql"
2608
2609[[grammar]]
2610name = "sql"
2611# from gh-pages branch, as the main branch does not provide the `src` directory
2612source = { git = "https://github.com/DerekStride/tree-sitter-sql", rev = "851e9cb257ba7c66cc8c14214a31c44d2f1e954e" }
2613
2614[[language]]
2615name = "gdscript"
2616scope = "source.gdscript"
2617injection-regex = "gdscript"
2618file-types = ["gd"]
2619shebangs = []
2620roots = ["project.godot"]
2621auto-format = true
2622formatter = { command = "gdformat", args = ["-"] }
2623comment-tokens = ["#", "##"]
2624indent = { tab-width = 4, unit = "\t" }
2625
2626[[grammar]]
2627name = "gdscript"
2628source = { git = "https://github.com/PrestonKnopp/tree-sitter-gdscript", rev = "1f1e782fe2600f50ae57b53876505b8282388d77" }
2629
2630[[language]]
2631name = "godot-resource"
2632scope = "source.tscn"
2633injection-regex = "godot"
2634file-types = ["tscn", "tres", "godot", "gdextension"]
2635shebangs = []
2636roots = ["project.godot"]
2637auto-format = false
2638comment-token = ";"
2639indent = { tab-width = 4, unit = "\t" }
2640
2641[[grammar]]
2642name = "godot-resource"
2643source = { git = "https://github.com/PrestonKnopp/tree-sitter-godot-resource", rev = "2ffb90de47417018651fc3b970e5f6b67214dc9d" }
2644
2645[[language]]
2646name = "nu"
2647scope = "source.nu"
2648injection-regex = "nu"
2649file-types = ["nu", "nuon"]
2650shebangs = ["nu"]
2651comment-token = "#"
2652indent = { tab-width = 2, unit = " " }
2653language-servers = [ "nu-lsp", "nu-lint" ]
2654formatter = { command = "nufmt", args = ["--stdin"] } # https://github.com/nushell/nufmt
2655auto-format = false
2656
2657[[grammar]]
2658name = "nu"
2659source = { git = "https://github.com/nushell/tree-sitter-nu", rev = "cc4624fbc6ec3563d98fbe8f215a8b8e10b16f32" }
2660
2661[[language]]
2662name = "vala"
2663scope = "source.vala"
2664injection-regex = "vala"
2665file-types = ["vala", "vapi"]
2666comment-token = "//"
2667block-comment-tokens = { start = "/*", end = "*/" }
2668indent = { tab-width = 2, unit = " " }
2669language-servers = [ "vala-language-server" ]
2670
2671[[grammar]]
2672name = "vala"
2673source = { git = "https://github.com/vala-lang/tree-sitter-vala", rev = "97e6db3c8c73b15a9541a458d8e797a07f588ef4" }
2674
2675[[language]]
2676name = "hare"
2677scope = "source.hare"
2678injection-regex = "hare"
2679file-types = ["ha"]
2680comment-token = "//"
2681indent = { tab-width = 8, unit = "\t" }
2682language-servers = [
2683 { except-features = [
2684 "code-action", "completion", "format", "inlay-hints", "rename-symbol", "workspace-symbols",
2685 ], name = "hare-lsp" },
2686]
2687
2688[[grammar]]
2689name = "hare"
2690source = { git = "https://git.sr.ht/~ecs/tree-sitter-hare", rev = "07035a248943575444aa0b893ffe306e1444c0ab" }
2691
2692[[language]]
2693name = "devicetree"
2694scope = "source.devicetree"
2695injection-regex = "(dtsi?|devicetree|fdt)"
2696file-types = ["dts", "dtsi"]
2697comment-token = "//"
2698block-comment-tokens = { start = "/*", end = "*/" }
2699indent = { tab-width = 4, unit = "\t" }
2700language-servers = [ "dts-lsp" ]
2701
2702[[grammar]]
2703name = "devicetree"
2704source = { git = "https://github.com/joelspadin/tree-sitter-devicetree", rev = "e78bf56f206cb47bee28a217423acb651e076848" }
2705
2706[[language]]
2707name = "cairo"
2708scope = "source.cairo"
2709injection-regex = "cairo"
2710file-types = ["cairo"]
2711comment-token = "//"
2712indent = { tab-width = 4, unit = " " }
2713# auto-format = true
2714language-servers = [ "cairo-language-server" ]
2715
2716[[grammar]]
2717name = "cairo"
2718source = { git = "https://github.com/starkware-libs/tree-sitter-cairo", rev = "4c6a25680546761b80a710ead1dd34e76c203125" }
2719
2720[[language]]
2721name = "cpon"
2722scope = "scope.cpon"
2723injection-regex = "cpon"
2724file-types = ["cpon", "cp"]
2725auto-format = true
2726comment-token = "//"
2727indent = { tab-width = 2, unit = " " }
2728
2729[[grammar]]
2730name = "cpon"
2731source = { git = "https://github.com/fvacek/tree-sitter-cpon", rev = "0d01fcdae5a53191df5b1349f9bce053833270e7" }
2732
2733[[language]]
2734name = "odin"
2735auto-format = true
2736scope = "source.odin"
2737file-types = ["odin"]
2738roots = ["ols.json", "main.odin"]
2739language-servers = [ "ols" ]
2740comment-token = "//"
2741block-comment-tokens = { start = "/*", end = "*/" }
2742indent = { tab-width = 4, unit = "\t" }
2743formatter = { command = "odinfmt", args = [ "-stdin" ] }
2744
2745[language.debugger]
2746name = "lldb-dap"
2747transport = "stdio"
2748command = "lldb-dap"
2749
2750[[language.debugger.templates]]
2751name = "binary"
2752request = "launch"
2753completion = [ { name = "binary", completion = "filename" } ]
2754args = { console = "internalConsole", program = "{0}" }
2755
2756[[language.debugger.templates]]
2757name = "attach"
2758request = "attach"
2759completion = [ "pid" ]
2760args = { console = "internalConsole", pid = "{0}" }
2761
2762[[language.debugger.templates]]
2763name = "gdbserver attach"
2764request = "attach"
2765completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
2766args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
2767
2768[[grammar]]
2769name = "odin"
2770source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-odin", rev = "6c6b07e354a52f8f2a9bc776cbc262a74e74fd26" }
2771
2772[[language]]
2773name = "meson"
2774scope = "source.meson"
2775injection-regex = "meson"
2776file-types = [{ glob = "meson.build" }, { glob = "meson.options" }, { glob = "meson_options.txt" }]
2777comment-token = "#"
2778indent = { tab-width = 2, unit = " " }
2779language-servers = ["mesonlsp"]
2780
2781[[grammar]]
2782name = "meson"
2783source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-meson", rev = "c84f3540624b81fc44067030afce2ff78d6ede05" }
2784
2785[[language]]
2786name = "ssh_client_config"
2787scope = "source.ssh_client_config"
2788file-types = [{ glob = ".ssh/config" }, { glob = "/etc/ssh/ssh_config" }, { glob = "ssh_config.d/*.conf" } ]
2789comment-token = "#"
2790
2791[[grammar]]
2792name = "ssh_client_config"
2793source = { git = "https://github.com/metio/tree-sitter-ssh-client-config", rev = "4abd07dc3884124d60e37e1f2dd98a1676859ae0" }
2794
2795[[language]]
2796name = "scheme"
2797scope = "source.scheme"
2798injection-regex = "scheme"
2799file-types = ["ss", "scm", "sld"]
2800shebangs = ["scheme", "guile", "chicken"]
2801comment-token = ";"
2802block-comment-tokens = { start = "#|", end = "|#" }
2803indent = { tab-width = 2, unit = " " }
2804
2805[language.auto-pairs]
2806'(' = ')'
2807'{' = '}'
2808'[' = ']'
2809'"' = '"'
2810
2811[[grammar]]
2812name = "scheme"
2813source = { git = "https://github.com/6cdh/tree-sitter-scheme", rev = "c6cb7c7d7a04b3f5d999c28e2e9c0c31b2d50ece" }
2814
2815[[language]]
2816name = "v"
2817scope = "source.v"
2818file-types = ["v", "vv", "vsh"]
2819shebangs = ["v run"]
2820roots = ["v.mod"]
2821language-servers = [ "vlang-language-server" ]
2822auto-format = true
2823comment-token = "//"
2824block-comment-tokens = { start = "/*", end = "*/" }
2825indent = { tab-width = 4, unit = "\t" }
2826
2827[[grammar]]
2828name = "v"
2829source = {git = "https://github.com/vlang/v-analyzer", subpath = "tree_sitter_v", rev = "59a8889d84a293d7c0366d14c8dbb0eec24fe889"}
2830
2831[[language]]
2832name = "verilog"
2833scope = "source.verilog"
2834file-types = ["v", "vh"]
2835comment-token = "//"
2836block-comment-tokens = { start = "/*", end = "*/" }
2837language-servers = ["verible-verilog-ls"]
2838indent = { tab-width = 2, unit = " " }
2839injection-regex = "verilog"
2840
2841[[grammar]]
2842name = "verilog"
2843source = { git = "https://github.com/tree-sitter/tree-sitter-verilog", rev = "4457145e795b363f072463e697dfe2f6973c9a52" }
2844
2845[[language]]
2846name = "systemverilog"
2847scope = "source.systemverilog"
2848file-types = ["sv", "svh"]
2849comment-token = "//"
2850block-comment-tokens = { start = "/*", end = "*/" }
2851indent = { tab-width = 2, unit = " " }
2852language-servers = ["svlangserver", "verible-verilog-ls"]
2853
2854[[grammar]]
2855name = "systemverilog"
2856source = { git = "https://github.com/gmlarumbe/tree-sitter-systemverilog", rev = "5f7a4121ef40e8d38317833968fe861fd6913d28" }
2857
2858[[language]]
2859name = "edoc"
2860scope = "source.edoc"
2861file-types = ["edoc", "edoc.in"]
2862injection-regex = "edoc"
2863indent = { tab-width = 4, unit = " " }
2864
2865[[grammar]]
2866name = "edoc"
2867source = { git = "https://github.com/the-mikedavis/tree-sitter-edoc", rev = "74774af7b45dd9cefbf9510328fc6ff2374afc50" }
2868
2869[[language]]
2870name = "jsdoc"
2871scope = "source.jsdoc"
2872injection-regex = "jsdoc"
2873file-types = ["jsdoc"]
2874indent = { tab-width = 2, unit = " " }
2875
2876[[grammar]]
2877name = "jsdoc"
2878source = { git = "https://github.com/tree-sitter/tree-sitter-jsdoc", rev = "658d18dcdddb75c760363faa4963427a7c6b52db" }
2879
2880[[language]]
2881name = "openscad"
2882scope = "source.openscad"
2883injection-regex = "openscad"
2884file-types = ["scad"]
2885comment-token = "//"
2886block-comment-tokens = { start = "/*", end = "*/" }
2887language-servers = [ "openscad-lsp" ]
2888indent = { tab-width = 2, unit = "\t" }
2889
2890[[grammar]]
2891name = "openscad"
2892source = { git = "https://github.com/openscad/tree-sitter-openscad", rev = "4c36a4fb569688c97cfa28090031e039a6079244" }
2893
2894[[language]]
2895name = "prisma"
2896scope = "source.prisma"
2897injection-regex = "prisma"
2898file-types = ["prisma"]
2899roots = ["package.json"]
2900comment-token = "//"
2901language-servers = [ "prisma-language-server" ]
2902indent = { tab-width = 2, unit = " " }
2903
2904[[grammar]]
2905name = "prisma"
2906source = { git = "https://github.com/victorhqc/tree-sitter-prisma", rev = "eca2596a355b1a9952b4f80f8f9caed300a272b5" }
2907
2908[[language]]
2909name = "clojure"
2910scope = "source.clojure"
2911injection-regex = "(clojure|clj|edn|boot)"
2912file-types = ["clj", "cljs", "cljc", "clje", "cljr", "cljx", "edn", "boot"]
2913roots = ["project.clj", "build.boot", "deps.edn", "shadow-cljs.edn"]
2914comment-token = ";"
2915language-servers = [ "clojure-lsp" ]
2916indent = { tab-width = 2, unit = " " }
2917formatter = { command = "cljfmt", args = ["fix", "-"] }
2918
2919[[grammar]]
2920name = "clojure"
2921source = { git = "https://github.com/sogaiu/tree-sitter-clojure", rev = "e43eff80d17cf34852dcd92ca5e6986d23a7040f" }
2922
2923[[language]]
2924name = "starlark"
2925scope = "source.starlark"
2926injection-regex = "(starlark|bzl|bazel|buck)"
2927file-types = [
2928 "bzl",
2929 "bazel",
2930 "star",
2931 "bxl", # Buck Extension Language
2932 { glob = "BUILD" },
2933 { glob = "BUCK" },
2934 { glob = "BUILD.*" },
2935 { glob = "WORKSPACE" },
2936 { glob = "WORKSPACE.bzlmod" },
2937 { glob = "PACKAGE" },
2938]
2939comment-token = "#"
2940indent = { tab-width = 4, unit = " " }
2941language-servers = [ "starpls", "buck2" ]
2942grammar = "python"
2943
2944[[language]]
2945name = "elvish"
2946scope = "source.elvish"
2947shebangs = ["elvish"]
2948file-types = ["elv"]
2949comment-token = "#"
2950indent = { tab-width = 2, unit = " " }
2951language-servers = [ "elvish" ]
2952grammar = "elvish"
2953
2954[[grammar]]
2955name = "elvish"
2956source = { git = "https://github.com/ckafi/tree-sitter-elvish", rev = "e50787cadd3bc54f6d9c0704493a79078bb8a4e5" }
2957
2958[[language]]
2959name = "idris"
2960scope = "source.idr"
2961injection-regex = "idr"
2962file-types = ["idr"]
2963shebangs = []
2964comment-token = "--"
2965block-comment-tokens = { start = "{-", end = "-}" }
2966indent = { tab-width = 2, unit = " " }
2967language-servers = [ "idris2-lsp" ]
2968
2969[[language]]
2970name = "fortran"
2971scope = "source.fortran"
2972injection-regex = "fortran"
2973file-types = ["f", "for", "f90", "f95", "f03", "F", "F90", "F95", "F03"]
2974roots = ["fpm.toml"]
2975comment-token = "!"
2976indent = { tab-width = 4, unit = " "}
2977language-servers = [ "fortls" ]
2978
2979[[grammar]]
2980name = "fortran"
2981source = { git = "https://github.com/stadelmanma/tree-sitter-fortran", rev = "2880b7aab4fb7cc618de1ef3d4c6d93b2396c031" }
2982
2983[[language]]
2984name = "ungrammar"
2985scope = "source.ungrammar"
2986injection-regex = "ungrammar"
2987file-types = ["ungram", "ungrammar"]
2988comment-token = "//"
2989indent = { tab-width = 2, unit = " " }
2990
2991[[grammar]]
2992name = "ungrammar"
2993source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-ungrammar", rev = "debd26fed283d80456ebafa33a06957b0c52e451" }
2994
2995[[language]]
2996name = "dot"
2997scope = "source.dot"
2998injection-regex = "dot"
2999file-types = ["dot"]
3000comment-token = "//"
3001block-comment-tokens = { start = "/*", end = "*/" }
3002indent = { tab-width = 4, unit = " " }
3003language-servers = [ "dot-language-server" ]
3004
3005[[grammar]]
3006name = "dot"
3007source = { git = "https://github.com/rydesun/tree-sitter-dot", rev = "917230743aa10f45a408fea2ddb54bbbf5fbe7b7" }
3008
3009[[language]]
3010name = "cue"
3011scope = "source.cue"
3012injection-regex = "cue"
3013file-types = ["cue"]
3014roots = ["cue.mod"]
3015auto-format = true
3016comment-token = "//"
3017language-servers = [ "cuelsp" ]
3018indent = { tab-width = 4, unit = "\t" }
3019formatter = { command = "cue", args = ["fmt", "-"] }
3020
3021[[grammar]]
3022name = "cue"
3023source = { git = "https://github.com/eonpatapon/tree-sitter-cue", rev = "8a5f273bfa281c66354da562f2307c2d394b6c81" }
3024
3025[[language]]
3026name = "slang"
3027scope = "source.lang"
3028injection-regex = "slang"
3029file-types = ["slang"]
3030comment-token = "//"
3031block-comment-tokens = { start = "/*", end = "*/" }
3032language-servers = [ "slangd" ]
3033indent = { tab-width = 4, unit = " " }
3034
3035[[grammar]]
3036name = "slang"
3037source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-slang", rev = "327b1b821c255867a4fb724c8eee48887e3d014b" }
3038
3039[[language]]
3040name = "slint"
3041scope = "source.slint"
3042injection-regex = "slint"
3043file-types = ["slint"]
3044comment-token = "//"
3045block-comment-tokens = { start = "/*", end = "*/" }
3046indent = { tab-width = 4, unit = " " }
3047language-servers = [ "slint-lsp" ]
3048
3049[[grammar]]
3050name = "slint"
3051source = { git = "https://github.com/slint-ui/tree-sitter-slint", rev = "68b25244cec6eb9d7f8f790ef781c29c822d8f84" }
3052
3053[[language]]
3054name = "task"
3055scope = "source.task"
3056injection-regex = "task"
3057file-types = ["task"]
3058comment-token = "#"
3059indent = { tab-width = 2, unit = " " }
3060
3061[[grammar]]
3062name = "task"
3063source = { git = "https://github.com/alexanderbrevig/tree-sitter-task", rev = "f2cb435c5dbf3ee19493e224485d977cb2d36d8b" }
3064
3065[[language]]
3066name = "xit"
3067scope = "source.xit"
3068injection-regex = "xit"
3069file-types = ["xit"]
3070indent = { tab-width = 4, unit = " " }
3071
3072[[grammar]]
3073name = "xit"
3074source = { git = "https://github.com/synaptiko/tree-sitter-xit", rev = "7d7902456061bc2ad21c64c44054f67b5515734c" }
3075
3076[[language]]
3077name = "esdl"
3078scope = "source.esdl"
3079injection-regex = "esdl"
3080file-types = ["gel", "esdl"]
3081comment-token = "#"
3082indent = { tab-width = 2, unit = " " }
3083roots = ["gel.toml", "edgedb.toml"]
3084
3085[[grammar]]
3086name ="esdl"
3087source = { git = "https://github.com/hongquan/tree-sitter-esdl", rev = "c824fe2bbbed6b29e50c694420aa2b377782f80a" }
3088
3089[[language]]
3090name = "pascal"
3091scope = "source.pascal"
3092injection-regex = "pascal"
3093file-types = ["pas", "pp", "inc", "lpr", "lfm"]
3094comment-token = "//"
3095block-comment-tokens = { start = "{", end = "}" }
3096indent = { tab-width = 2, unit = " " }
3097language-servers = [ "pasls" ]
3098
3099[[grammar]]
3100name = "pascal"
3101source = { git = "https://github.com/Isopod/tree-sitter-pascal", rev = "042119eca2e18a60e56317fb06ee3ba5c32cb447" }
3102
3103[[language]]
3104name = "sml"
3105scope = "source.sml"
3106injection-regex = "sml"
3107file-types = ["sml"]
3108block-comment-tokens = { start = "(*", end = "*)" }
3109
3110[language.auto-pairs]
3111'(' = ')'
3112'{' = '}'
3113'[' = ']'
3114'"' = '"'
3115
3116[[grammar]]
3117name = "sml"
3118source = { git = "https://github.com/Giorbo/tree-sitter-sml", rev = "bd4055d5554614520d4a0706b34dc0c317c6b608" }
3119
3120[[language]]
3121name = "jsonnet"
3122scope = "source.jsonnet"
3123file-types = ["libsonnet", "jsonnet"]
3124roots = ["jsonnetfile.json"]
3125comment-token = "//"
3126block-comment-tokens = { start = "/*", end = "*/" }
3127indent = { tab-width = 2, unit = " " }
3128language-servers = [ "jsonnet-language-server" ]
3129
3130[[grammar]]
3131name = "jsonnet"
3132source = { git = "https://github.com/sourcegraph/tree-sitter-jsonnet", rev = "ddd075f1939aed8147b7aa67f042eda3fce22790" }
3133
3134[[language]]
3135name = "ada"
3136scope = "source.ada"
3137injection-regex = "ada"
3138file-types = ["adb", "ads"]
3139roots = ["alire.toml"]
3140comment-token = "--"
3141indent = { tab-width = 3, unit = " " }
3142language-servers = ["ada-language-server"]
3143
3144[[grammar]]
3145name = "ada"
3146source = { git = "https://github.com/briot/tree-sitter-ada", rev = "ba0894efa03beb70780156b91e28c716b7a4764d" }
3147
3148[[language]]
3149name = "astro"
3150scope = "source.astro"
3151injection-regex = "astro"
3152file-types = ["astro"]
3153block-comment-tokens = { start = "<!--", end = "-->" }
3154indent = { tab-width = 2, unit = " " }
3155language-servers = [ "astro-ls" ]
3156
3157[[grammar]]
3158name = "astro"
3159source = { git = "https://github.com/virchau13/tree-sitter-astro", rev = "947e93089e60c66e681eba22283f4037841451e7" }
3160
3161[[language]]
3162name = "bass"
3163scope = "source.bass"
3164injection-regex = "bass"
3165file-types = ["bass"]
3166comment-token = ";"
3167indent = { tab-width = 2, unit = " " }
3168language-servers = [ "bass" ]
3169
3170[[grammar]]
3171name = "bass"
3172source = { git = "https://github.com/vito/tree-sitter-bass", rev = "501133e260d768ed4e1fd7374912ed5c86d6fd90" }
3173
3174[[language]]
3175name = "wat"
3176scope = "source.wat"
3177comment-token = ";;"
3178block-comment-tokens = { start = "(;", end = ";)" }
3179file-types = ["wat"]
3180language-servers = ["wasm-language-tools"]
3181
3182[[grammar]]
3183name = "wat"
3184source = { git = "https://github.com/wasm-lsp/tree-sitter-wasm", rev = "2ca28a9f9d709847bf7a3de0942a84e912f59088", subpath = "wat" }
3185
3186[[language]]
3187name = "wast"
3188scope = "source.wast"
3189comment-token = ";;"
3190block-comment-tokens = { start = "(;", end = ";)" }
3191file-types = ["wast"]
3192
3193[[grammar]]
3194name = "wast"
3195source = { git = "https://github.com/wasm-lsp/tree-sitter-wasm", rev = "2ca28a9f9d709847bf7a3de0942a84e912f59088", subpath = "wast" }
3196
3197[[language]]
3198name = "d"
3199scope = "source.d"
3200file-types = [ "d", "dd" ]
3201comment-token = "//"
3202block-comment-tokens = { start = "/*", end = "*/" }
3203injection-regex = "d"
3204indent = { tab-width = 4, unit = " "}
3205language-servers = [ "serve-d" ]
3206formatter = { command = "dfmt" }
3207
3208[[grammar]]
3209name = "d"
3210source = { git = "https://github.com/gdamore/tree-sitter-d", rev = "8bcb13dbddf16ca44a42f8e98e8cf3d86b2b2e48" }
3211
3212[[language]]
3213name = "vhs"
3214scope = "source.vhs"
3215file-types = ["tape"]
3216comment-token = "#"
3217indent = { tab-width = 2, unit = " " }
3218grammar = "vhs"
3219
3220[[grammar]]
3221name = "vhs"
3222source = { git = "https://github.com/charmbracelet/tree-sitter-vhs", rev = "9534865e614c95eb9418e5e73f061c32fa4d9540" }
3223
3224[[language]]
3225name = "kdl"
3226scope = "source.kdl"
3227file-types = ["kdl"]
3228comment-token = "//"
3229block-comment-tokens = { start = "/*", end = "*/" }
3230injection-regex = "kdl"
3231formatter = { command = "kdlfmt", args = ["format", "-"] }
3232
3233[[grammar]]
3234name = "kdl"
3235source = { git = "https://github.com/amaanq/tree-sitter-kdl", rev = "b37e3d58e5c5cf8d739b315d6114e02d42e66664" }
3236
3237[[language]]
3238name = "xml"
3239scope = "source.xml"
3240injection-regex = "xml"
3241file-types = [
3242 "ascx",
3243 "atom",
3244 "axaml",
3245 "axml",
3246 "bpmn",
3247 "checkstyle",
3248 "cpt",
3249 "csl",
3250 "csproj.user",
3251 "dita",
3252 "ditamap",
3253 "dtml",
3254 "fods",
3255 "fodt",
3256 "fxml",
3257 "gir",
3258 "glif",
3259 "gml",
3260 "gpx",
3261 "iml",
3262 "isml",
3263 "itermcolors",
3264 "jmx",
3265 "kml",
3266 "launch",
3267 "menu",
3268 "mobileconfig",
3269 "mpd",
3270 "musicxml",
3271 "mxml",
3272 "ncx",
3273 "nuspec",
3274 "opml",
3275 "osc",
3276 "osm",
3277 "plist",
3278 "policy",
3279 "pt",
3280 "publishsettings",
3281 "pubxml",
3282 "pubxml.user",
3283 "rbxlx",
3284 "rbxmx",
3285 "resx",
3286 "rng",
3287 "rss",
3288 "shproj",
3289 "smil",
3290 "storyboard",
3291 "sublime-snippet",
3292 "svg",
3293 "terminal",
3294 "tld",
3295 "tmx",
3296 "ui",
3297 "vbproj.user",
3298 "vcxproj",
3299 "vcxproj.filters",
3300 "wixproj",
3301 "wsdl",
3302 "wxi",
3303 "wxs",
3304 "xaml",
3305 "xbl",
3306 "xib",
3307 "xlf",
3308 "xliff",
3309 "xml",
3310 "xmp",
3311 "xoml",
3312 "xpdl",
3313 "xrc",
3314 "xsd",
3315 "xsl",
3316 "xul",
3317 { glob = "*.tm[Ll]anguage" },
3318 { glob = "*.tm[Pp]references" },
3319 { glob = "*.tm[Tt]heme" },
3320]
3321block-comment-tokens = { start = "<!--", end = "-->" }
3322indent = { tab-width = 2, unit = " " }
3323
3324[language.auto-pairs]
3325'(' = ')'
3326'{' = '}'
3327'[' = ']'
3328'"' = '"'
3329"'" = "'"
3330"<" = ">"
3331
3332[[grammar]]
3333name = "xml"
3334source = { git = "https://github.com/RenjiSann/tree-sitter-xml", rev = "48a7c2b6fb9d515577e115e6788937e837815651" }
3335
3336[[language]]
3337name = "dtd"
3338scope = "source.dtd"
3339injection-regex = "dtd"
3340file-types = ["dtd", "ent"]
3341indent = {tab-width = 2, unit = " "}
3342block-comment-tokens = { start = "<!--", end = "-->" }
3343
3344[language.auto-pairs]
3345'(' = ')'
3346'[' = ']'
3347'"' = '"'
3348"'" = "'"
3349'<' = '>'
3350
3351[[grammar]]
3352name = "dtd"
3353source = { git = "https://github.com/KMikeeU/tree-sitter-dtd", rev = "6116becb02a6b8e9588ef73d300a9ba4622e156f"}
3354
3355[[language]]
3356name = "wit"
3357scope = "source.wit"
3358injection-regex = "wit"
3359file-types = ["wit"]
3360comment-token = "//"
3361block-comment-tokens = { start = "/*", end = "*/" }
3362indent = { tab-width = 2, unit = " " }
3363
3364[language.auto-pairs]
3365'(' = ')'
3366'{' = '}'
3367'[' = ']'
3368'"' = '"'
3369"'" = "'"
3370"<" = ">"
3371
3372[[grammar]]
3373name = "wit"
3374source = { git = "https://github.com/hh9527/tree-sitter-wit", rev = "c917790ab9aec50c5fd664cbfad8dd45110cfff3" }
3375
3376[[language]]
3377name = "env"
3378scope = "source.env"
3379file-types = [
3380 { glob = ".env" },
3381 { glob = ".env.*" },
3382 { glob = ".envrc" },
3383 { glob = ".envrc.*" },
3384 { glob = "_environment" }, # https://quarto.org/docs/projects/environment.html#environment-file
3385 { glob = "_environment-*" }, # https://quarto.org/docs/projects/environment.html#profile-environments
3386 { glob = "_environment.local" }, # https://quarto.org/docs/projects/environment.html#local-environment
3387 { glob = "_environment.required" }, # https://quarto.org/docs/projects/environment.html#required-variables
3388 { glob = ".bazeliskrc" }, # https://github.com/bazelbuild/bazelisk#bazeliskrc-configuration-file
3389 { glob = ".gitlab-ci-local-env" }, # https://github.com/firecow/gitlab-ci-local#via-environment-variables
3390]
3391injection-regex = "env"
3392comment-token = "#"
3393indent = { tab-width = 4, unit = "\t" }
3394grammar = "bash"
3395
3396[[language]]
3397name = "systemd"
3398scope = "source.ini"
3399file-types = [
3400 # Systemd unit files
3401 "service",
3402 "automount",
3403 "device",
3404 "mount",
3405 "nspawn",
3406 "path",
3407 "scope",
3408 "slice",
3409 "socket",
3410 "swap",
3411 "target",
3412 "timer",
3413 { glob = "systemd/**/*.conf" },
3414 # Podman quadlets
3415 "container",
3416 { glob = "containers/systemd/**/*.pod" }, # extension alone would conflict with Perl POD
3417 "kube",
3418 "network",
3419 "volume",
3420 "build",
3421 "image",
3422]
3423injection-regex = "systemd"
3424comment-token = "#"
3425grammar = "ini"
3426language-servers = ["systemd-lsp"]
3427
3428[[language]]
3429name = "ini"
3430scope = "source.ini"
3431file-types = [
3432 "ini",
3433 "desktop",
3434 { glob = "mimeapps.list" },
3435 { glob = ".editorconfig" },
3436 { glob = ".npmrc" },
3437 { glob = "hgrc" },
3438 { glob = "npmrc" },
3439 { glob = "rclone.conf" },
3440 { glob = ".aws/config" },
3441 "properties",
3442 "cfg",
3443 "directory",
3444 { glob = ".wslconfig" },
3445 { glob = ".buckconfig" },
3446 { glob = ".buckconfig.local" },
3447 { glob = ".buckconfig.d/*" },
3448 { glob = "/etc/buckconfig" },
3449 { glob = "/etc/buckconfig.d/*" },
3450]
3451injection-regex = "ini"
3452comment-token = "#"
3453indent = { tab-width = 4, unit = "\t" }
3454
3455[[grammar]]
3456name = "ini"
3457source = { git = "https://github.com/justinmk/tree-sitter-ini", rev = "e4018b5176132b4f3c5d6e61cea383f42288d0f5" }
3458
3459[[language]]
3460name = "inko"
3461auto-format = true
3462scope = "source.inko"
3463injection-regex = "inko"
3464file-types = ["inko"]
3465roots = ["inko.pkg"]
3466comment-token = "#"
3467indent = { tab-width = 2, unit = " " }
3468formatter = { command = "inko", args = ["fmt", "-"] }
3469
3470[[grammar]]
3471name = "inko"
3472source = { git = "https://github.com/inko-lang/tree-sitter-inko", rev = "f58a87ac4dc6a7955c64c9e4408fbd693e804686" }
3473
3474[[language]]
3475name = "bicep"
3476scope = "source.bicep"
3477file-types = ["bicep","bicepparam"]
3478auto-format = true
3479comment-token = "//"
3480block-comment-tokens = { start = "/*", end = "*/" }
3481indent = { tab-width = 2, unit = " "}
3482language-servers = [ "bicep-langserver" ]
3483
3484[[grammar]]
3485name = "bicep"
3486source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-bicep", rev = "bff59884307c0ab009bd5e81afd9324b46a6c0f9" }
3487
3488[[language]]
3489name = "qml"
3490scope = "source.qml"
3491file-types = ["qml"]
3492language-servers = [ "qmlls" ]
3493comment-token = "//"
3494block-comment-tokens = { start = "/*", end = "*/" }
3495indent = { tab-width = 4, unit = " " }
3496grammar = "qmljs"
3497
3498[[grammar]]
3499name = "qmljs"
3500source = { git = "https://github.com/yuja/tree-sitter-qmljs", rev = "0b2b25bcaa7d4925d5f0dda16f6a99c588a437f1" }
3501
3502[[language]]
3503name = "mermaid"
3504scope = "source.mermaid"
3505injection-regex = "mermaid"
3506file-types = ["mermaid", "mmd"]
3507comment-token = "%%"
3508indent = { tab-width = 4, unit = " " }
3509
3510[[grammar]]
3511name = "mermaid"
3512source = { git = "https://github.com/monaqa/tree-sitter-mermaid", rev = "d787c66276e7e95899230539f556e8b83ee16f6d" }
3513
3514[[language]]
3515name = "matlab"
3516scope = "source.m"
3517file-types = ["m"]
3518comment-token = "%"
3519shebangs = ["octave-cli", "matlab"]
3520indent = { tab-width = 2, unit = " " }
3521
3522[[grammar]]
3523name = "matlab"
3524source = { git = "https://github.com/acristoffers/tree-sitter-matlab", rev = "c2390a59016f74e7d5f75ef09510768b4f30217e" }
3525
3526[[language]]
3527name = "ponylang"
3528scope = "source.pony"
3529file-types = ["pony"]
3530injection-regex = "pony"
3531roots = ["corral.json", "lock.json"]
3532indent = { tab-width = 2, unit = " " }
3533comment-token = "//"
3534block-comment-tokens = { start = "/*", end = "*/" }
3535language-servers = [ "pony-lsp" ]
3536
3537[[grammar]]
3538name = "ponylang"
3539source = { git = "https://github.com/mfelsche/tree-sitter-ponylang", rev = "ef66b151bc2604f431b5668fcec4747db4290e11" }
3540
3541[[language]]
3542name = "dhall"
3543scope = "source.dhall"
3544injection-regex = "dhall"
3545file-types = ["dhall"]
3546comment-token = "--"
3547block-comment-tokens = { start = "{-", end = "-}" }
3548indent = { tab-width = 2, unit = " " }
3549language-servers = [ "dhall-lsp-server" ]
3550formatter = { command = "dhall" , args = ["format"] }
3551
3552[[grammar]]
3553name = "dhall"
3554source = { git = "https://github.com/jbellerb/tree-sitter-dhall", rev = "affb6ee38d629c9296749767ab832d69bb0d9ea8" }
3555
3556[[language]]
3557name = "sage"
3558scope = "source.sage"
3559file-types = ["sage"]
3560injection-regex = "sage"
3561comment-token = "#"
3562indent = { tab-width = 4, unit = " " }
3563grammar = "python"
3564
3565[[language]]
3566name = "msbuild"
3567scope = "source.msbuild"
3568injection-regex = "msbuild"
3569file-types = ["proj", "vbproj", "csproj", "fsproj", "targets", "props"]
3570indent = { tab-width = 2, unit = " " }
3571block-comment-tokens = { start = "<!--", end = "-->" }
3572grammar = "xml"
3573
3574[language.auto-pairs]
3575'(' = ')'
3576'{' = '}'
3577'[' = ']'
3578'"' = '"'
3579"'" = "'"
3580"<" = ">"
3581
3582[[language]]
3583name = "pem"
3584scope = "source.pem"
3585file-types = ["pem", "cert", "crt"]
3586injection-regex = "pem"
3587grammar = "pem"
3588
3589[[grammar]]
3590name = "pem"
3591source = { git = "https://github.com/mtoohey31/tree-sitter-pem", rev = "62842ea106ff66876f9af4cccdf87913d1ed912e" }
3592
3593[[language]]
3594name = "passwd"
3595scope = "source.passwd"
3596file-types = [{ glob = "passwd" }]
3597
3598[[grammar]]
3599name = "passwd"
3600source = { git = "https://github.com/ath3/tree-sitter-passwd", rev = "20239395eacdc2e0923a7e5683ad3605aee7b716" }
3601
3602[[language]]
3603name = "hosts"
3604scope = "source.hosts"
3605file-types = [{ glob = "hosts" }]
3606comment-token = "#"
3607
3608[[grammar]]
3609name = "hosts"
3610source = { git = "https://github.com/ath3/tree-sitter-hosts", rev = "301b9379ce7dfc8bdbe2c2699a6887dcb73953f9" }
3611
3612[[language]]
3613name = "uxntal"
3614scope = "source.tal"
3615injection-regex = "tal"
3616file-types = ["tal"]
3617auto-format = false
3618block-comment-tokens = { start = "(", end = ")" }
3619
3620[[grammar]]
3621name = "uxntal"
3622source = { git = "https://github.com/Jummit/tree-sitter-uxntal", rev = "1a44f8d31053096b79c52f10a39da12479edbf64" }
3623
3624[[language]]
3625name = "yuck"
3626scope = "source.yuck"
3627injection-regex = "yuck"
3628file-types = ["yuck"]
3629comment-token = ";"
3630indent = { tab-width = 2, unit = " " }
3631
3632[[grammar]]
3633name = "yuck"
3634source = { git = "https://github.com/Philipp-M/tree-sitter-yuck", rev = "6c60112b3b3e739fb1ca4a8ea4bea2b6ffe11318" }
3635
3636[[language]]
3637name = "prql"
3638scope = "source.prql"
3639injection-regex = "prql"
3640file-types = ["prql"]
3641comment-token = "#"
3642indent = { tab-width = 4, unit = " " }
3643
3644[[grammar]]
3645name = "prql"
3646source = { git = "https://github.com/PRQL/tree-sitter-prql", rev = "09e158cd3650581c0af4c49c2e5b10c4834c8646" }
3647
3648[[language]]
3649name = "po"
3650scope = "source.po"
3651file-types = ["po", "pot"]
3652comment-token = "#"
3653
3654[[grammar]]
3655name = "po"
3656source = { git = "https://github.com/erasin/tree-sitter-po", rev = "417cee9abb2053ed26b19e7de972398f2da9b29e" }
3657
3658[[language]]
3659name = "nasm"
3660scope = "source.nasm"
3661file-types = ["asm", "S", "nasm"]
3662injection-regex = "n?asm"
3663comment-token = ";"
3664indent = { tab-width = 8, unit = " " }
3665language-servers = ["asm-lsp"]
3666
3667[[grammar]]
3668name = "nasm"
3669source = { git = "https://github.com/naclsn/tree-sitter-nasm", rev = "570f3d7be01fffc751237f4cfcf52d04e20532d1" }
3670
3671[[language]]
3672name = "gas"
3673scope = "source.gas"
3674file-types = ["s"]
3675injection-regex = "gas"
3676comment-token = "#"
3677indent = { tab-width = 8, unit = " " }
3678language-servers = ["asm-lsp"]
3679
3680[[grammar]]
3681name = "gas"
3682source = { git = "https://github.com/sirius94/tree-sitter-gas", rev = "60f443646b20edee3b7bf18f3a4fb91dc214259a" }
3683
3684[[language]]
3685name = "rst"
3686scope = "source.rst"
3687comment-token = ".."
3688file-types = ["rst"]
3689
3690[[grammar]]
3691name = "rst"
3692source = { git = "https://github.com/stsewd/tree-sitter-rst", rev = "6322f2629f29d8b442f4ca897904d407672ebb78" }
3693
3694[[language]]
3695name = "capnp"
3696scope = "source.capnp"
3697injection-regex = "capnp"
3698file-types = ["capnp"]
3699comment-token = "#"
3700indent = { tab-width = 2, unit = " " }
3701
3702[[grammar]]
3703name = "capnp"
3704source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-capnp", rev = "7b0883c03e5edd34ef7bcf703194204299d7099f" }
3705
3706[[language]]
3707name = "smithy"
3708scope = "source.smithy"
3709injection-regex = "smithy"
3710file-types = ["smithy"]
3711roots = ["smithy-build.json"]
3712comment-token = "//"
3713indent = { tab-width = 4, unit = " " }
3714language-servers = [ "cs" ]
3715
3716[[grammar]]
3717name = "smithy"
3718source = { git = "https://github.com/indoorvivants/tree-sitter-smithy", rev = "ec4fe14586f2b0a1bc65d6db17f8d8acd8a90433" }
3719
3720[[language]]
3721name = "hdl"
3722scope = "source.hdl"
3723file-types = ["hdl"]
3724indent = { tab-width = 4, unit = " " }
3725injection-regex = "hdl"
3726language-servers = [ "hdls" ]
3727
3728[[grammar]]
3729name = "hdl"
3730source = { git = "https://github.com/quantonganh/tree-sitter-hdl", rev = "2199fdf1d302100a53002ea2cf540999119836a0" }
3731
3732[[language]]
3733name = "vhdl"
3734scope = "source.vhdl"
3735file-types = ["vhd", "vhdl"]
3736comment-token = "--"
3737language-servers = [ "vhdl_ls" ]
3738indent = { tab-width = 2, unit = " " }
3739injection-regex = "vhdl"
3740
3741[[grammar]]
3742name = "vhdl"
3743source = { git = "https://github.com/jpt13653903/tree-sitter-vhdl", rev = "b8e31d110c6b039899d0f307792bdb0ff50ece2c" }
3744
3745[[language]]
3746name = "rego"
3747scope = "source.rego"
3748injection-regex = "rego"
3749file-types = ["rego"]
3750auto-format = true
3751comment-token = "#"
3752language-servers = [ "regols" ]
3753grammar = "rego"
3754
3755[[grammar]]
3756name = "rego"
3757source = { git = "https://github.com/FallenAngel97/tree-sitter-rego", rev = "ddd39af81fe8b0288102a7cb97959dfce723e0f3" }
3758
3759[[language]]
3760name = "nim"
3761scope = "source.nim"
3762injection-regex = "nim"
3763file-types = ["nim", "nims", "nimble"]
3764shebangs = []
3765comment-token = "#"
3766block-comment-tokens = { start = "#[", end = "]#" }
3767indent = { tab-width = 2, unit = " " }
3768language-servers = [ "nimlangserver" ]
3769
3770[language.auto-pairs]
3771'(' = ')'
3772'[' = ']'
3773'"' = '"'
3774"'" = "'"
3775'{' = '}'
3776
3777[[grammar]]
3778name = "nim"
3779source = { git = "https://github.com/alaviss/tree-sitter-nim", rev = "c5f0ce3b65222f5dbb1a12f9fe894524881ad590" }
3780
3781[[language]]
3782name = "cabal"
3783scope = "source.cabal"
3784file-types = [ "cabal" ]
3785roots = ["cabal.project", "Setup.hs"]
3786indent = { tab-width = 2, unit = " " }
3787comment-token = "--"
3788language-servers = [ "haskell-language-server" ]
3789
3790[[language]]
3791name = "hurl"
3792scope = "source.hurl"
3793injection-regex = "hurl"
3794file-types = ["hurl"]
3795comment-token = "#"
3796formatter = { command = "hurlfmt" }
3797indent = { tab-width = 2, unit = " " }
3798
3799[[grammar]]
3800name = "hurl"
3801source = { git = "https://github.com/pfeiferj/tree-sitter-hurl", rev = "597efbd7ce9a814bb058f48eabd055b1d1e12145" }
3802
3803[[language]]
3804name = "markdoc"
3805scope = "text.markdoc"
3806block-comment-tokens = { start = "<!--", end = "-->" }
3807file-types = ["mdoc"]
3808language-servers = [ "markdoc-ls" ]
3809
3810[[grammar]]
3811name = "markdoc"
3812source = { git = "https://github.com/markdoc-extra/tree-sitter-markdoc", rev = "e4211fe541a13350275e4684de79adfebe9a91f8" }
3813
3814[[language]]
3815name = "opencl"
3816scope = "source.cl"
3817injection-regex = "(cl|opencl)"
3818file-types = ["cl"]
3819comment-token = "//"
3820language-servers = [ "clangd" ]
3821
3822[[grammar]]
3823name = "opencl"
3824source = { git = "https://github.com/lefp/tree-sitter-opencl", rev = "8e1d24a57066b3cd1bb9685bbc1ca9de5c1b78fb" }
3825
3826[[language]]
3827name = "just"
3828scope = "source.just"
3829file-types = ["just", { glob = "justfile" }, { glob = "Justfile" }, { glob = ".justfile" }, { glob = ".Justfile" }]
3830injection-regex = "just"
3831comment-token = "#"
3832indent = { tab-width = 4, unit = " " }
3833language-servers = ["just-lsp"]
3834# auto-format = true
3835# formatter = { command = "just", args = ["--dump"] } # Please see: https://github.com/helix-editor/helix/issues/9703
3836
3837[[grammar]]
3838name = "just"
3839source = { git = "https://github.com/poliorcetics/tree-sitter-just", rev = "f749ec853adcacc5f14e9ec375f244104e033d88" }
3840
3841[[language]]
3842name = "gn"
3843scope = "source.gn"
3844injection-regex = "gn"
3845file-types = ["gn", "gni"]
3846roots = []
3847comment-token = "#"
3848indent = { tab-width = 2, unit = " " }
3849formatter = { command = "gn", args = ["format", "--stdin"] }
3850
3851[[grammar]]
3852name = "gn"
3853source = { git = "https://github.com/willcassella/tree-sitter-gn", rev = "fbaa7b3d52b958e3ac06e15416e1785138bde063" }
3854
3855[[language]]
3856name = "blueprint"
3857scope = "source.blueprint"
3858injection-regex = "blueprint"
3859file-types = ["blp"]
3860comment-token = "//"
3861block-comment-tokens = { start = "/*", end = "*/" }
3862language-servers = [ "blueprint-compiler" ]
3863indent = { tab-width = 4, unit = " " }
3864
3865[[grammar]]
3866name = "blueprint"
3867source = { git = "https://gitlab.com/gabmus/tree-sitter-blueprint", rev = "355ef84ef8a958ac822117b652cf4d49bac16c79" }
3868
3869[[language]]
3870name = "forth"
3871scope = "source.forth"
3872injection-regex = "forth"
3873file-types = ["fs", "forth", "fth", "4th"]
3874comment-token = "\\"
3875language-servers = [ "forth-lsp" ]
3876indent = { tab-width = 3, unit = " " }
3877
3878[[grammar]]
3879name = "forth"
3880source = { git = "https://github.com/alexanderbrevig/tree-sitter-forth", rev = "360ef13f8c609ec6d2e80782af69958b84e36cd0" }
3881
3882[[language]]
3883name = "fsharp"
3884scope = "source.fs"
3885roots = ["*.slnx", "*.sln", "*.fsproj"]
3886injection-regex = "fsharp"
3887file-types = ["fs", "fsx", "fsi", "fsscript"]
3888comment-tokens = ["//", "///"]
3889block-comment-tokens = { start = "(*", end = "*)" }
3890indent = { tab-width = 4, unit = " " }
3891auto-format = true
3892language-servers = ["fsharp-ls"]
3893
3894[[grammar]]
3895name = "fsharp"
3896source = { git = "https://github.com/ionide/tree-sitter-fsharp", rev = "cfc12456941da47b64b7a3994f8dccdc9fe7d2c9", subpath = "fsharp" }
3897
3898[[language]]
3899name = "t32"
3900scope = "source.t32"
3901injection-regex = "t32"
3902file-types = ["cmm", "t32"]
3903comment-token = ";"
3904indent = { tab-width = 2, unit = " " }
3905
3906[[grammar]]
3907name = "t32"
3908source = { git = "https://gitlab.com/xasc/tree-sitter-t32", rev = "6da5e3cbabd376b566d04282005e52ffe67ef74a" }
3909
3910[[language]]
3911name = "webc"
3912scope = "text.html.webc"
3913injection-regex = "webc"
3914file-types = ["webc"]
3915block-comment-tokens = { start = "<!--", end = "-->" }
3916indent = { tab-width = 2, unit = " " }
3917grammar = "html"
3918
3919[[language]]
3920name = "typst"
3921scope = "source.typst"
3922injection-regex = "typ(st)?"
3923file-types = ["typst", "typ"]
3924comment-token = "//"
3925block-comment-tokens = { start = "/*", end = "*/" }
3926language-servers = ["tinymist"]
3927indent = { tab-width = 2, unit = " " }
3928
3929[language.auto-pairs]
3930'(' = ')'
3931'{' = '}'
3932'[' = ']'
3933'$' = '$'
3934'"' = '"'
3935
3936[[grammar]]
3937name = "typst"
3938source = { git = "https://github.com/uben0/tree-sitter-typst", rev = "13863ddcbaa7b68ee6221cea2e3143415e64aea4" }
3939
3940[[language]]
3941name = "nunjucks"
3942scope = "text.html.nunjucks"
3943injection-regex = "nunjucks"
3944file-types = ["njk"]
3945indent = { tab-width = 2, unit = " " }
3946grammar = "jinja2"
3947block-comment-tokens = { start = "{#", end = "#}" }
3948
3949[[language]]
3950name = "jinja"
3951scope = "text.html.jinja"
3952injection-regex = "jinja"
3953file-types = ["jinja", "jinja2", "j2"]
3954indent = { tab-width = 2, unit = " " }
3955grammar = "jinja2"
3956block-comment-tokens = { start = "{#", end = "#}" }
3957
3958[[grammar]]
3959name = "jinja2"
3960source = { git = "https://github.com/varpeti/tree-sitter-jinja2", rev = "a533cd3c33aea6acb0f9bf9a56f35dcfe6a8eb53" }
3961
3962[[language]]
3963name = "jjconfig"
3964scope = "source.jjconfig"
3965injection-regex = "jjconfig"
3966grammar = "toml"
3967file-types = [{ glob = "jj/config.toml" }, { glob = "jj/**/*.toml" }, { glob = ".jj/repo/*.toml" }]
3968comment-token = "#"
3969language-servers = [ "taplo", "tombi" ]
3970indent = { tab-width = 2, unit = " " }
3971
3972[[language]]
3973name = "jjdescription"
3974scope = "jj.description"
3975file-types = [{ glob = "*.jjdescription" }]
3976comment-token = "JJ:"
3977indent = { tab-width = 4, unit = " " }
3978rulers = [51, 73]
3979text-width = 72
3980
3981[[grammar]]
3982name = "jjdescription"
3983source = { git = "https://github.com/kareigu/tree-sitter-jjdescription", rev = "1613b8c85b6ead48464d73668f39910dcbb41911" }
3984
3985[[language]]
3986name = "jjrevset"
3987scope = "jj.revset"
3988file-types = ["jjrevset"]
3989
3990[[grammar]]
3991name = "jjrevset"
3992source = { git = "https://github.com/bryceberger/tree-sitter-jjrevset", rev = "d9af23944b884ec528b505f41d81923bb3136a51" }
3993
3994[[language]]
3995name = "jjtemplate"
3996scope = "jj.template"
3997file-types = ["jjtemplate"]
3998
3999[[grammar]]
4000name = "jjtemplate"
4001source = { git = "https://github.com/bryceberger/tree-sitter-jjtemplate", rev = "4313eda8ac31c60e550e3ad5841b100a0a686715" }
4002
4003[[language]]
4004name = "miseconfig"
4005scope = "source.miseconfig"
4006injection-regex = "miseconfig"
4007grammar = "toml"
4008file-types = [
4009 { glob = "mise.toml" },
4010 { glob = ".mise.toml" },
4011 { glob = "mise.*.toml" },
4012 { glob = ".mise.*.toml" },
4013 { glob = "mise/config.toml" },
4014 { glob = ".mise/config.toml" },
4015 { glob = ".config/mise.toml" },
4016 { glob = ".config/mise/conf.d/*.toml" },
4017]
4018comment-token = "#"
4019language-servers = [ "taplo", "tombi" ]
4020indent = { tab-width = 2, unit = " " }
4021
4022[[language]]
4023name = "jq"
4024scope = "source.jq"
4025injection-regex = "jq"
4026file-types = ["jq"]
4027comment-token = "#"
4028language-servers = ["jq-lsp"]
4029indent = { tab-width = 2, unit = " " }
4030
4031[[grammar]]
4032name = "jq"
4033source = { git = "https://github.com/flurie/tree-sitter-jq", rev = "13990f530e8e6709b7978503da9bc8701d366791" }
4034
4035[[grammar]]
4036name = "wren"
4037source = { git = "https://git.sr.ht/~jummit/tree-sitter-wren", rev = "6748694be32f11e7ec6b5faeb1b48ca6156d4e06" }
4038
4039[[language]]
4040name = "wren"
4041scope = "source.wren"
4042injection-regex = "wren"
4043file-types = ["wren"]
4044indent = { tab-width = 2, unit = " "}
4045
4046[[language]]
4047name = "unison"
4048scope = "source.unison"
4049injection-regex = "unison"
4050file-types = ["u"]
4051shebangs = []
4052auto-format = false
4053comment-token = "--"
4054indent = { tab-width = 4, unit = " " }
4055
4056[language.auto-pairs]
4057'(' = ')'
4058'{' = '}'
4059'[' = ']'
4060'"' = '"'
4061'`' = '`'
4062
4063[[grammar]]
4064name = "unison"
4065source = { git = "https://github.com/kylegoetz/tree-sitter-unison", rev = "3c97db76d3cdbd002dfba493620c2d5df2fd6fa9" }
4066
4067[[language]]
4068name = "todotxt"
4069scope = "text.todotxt"
4070# glob = "todo.txt" is too common and can conflict regular files, define in user config if necessary
4071file-types = [{ glob = "*.todo.txt" }, "todotxt"]
4072formatter = { command = "sort" }
4073auto-format = true
4074
4075[[grammar]]
4076name = "todotxt"
4077source = { git = "https://github.com/arnarg/tree-sitter-todotxt", rev = "3937c5cd105ec4127448651a21aef45f52d19609" }
4078
4079[[language]]
4080name = "strace"
4081scope = "source.strace"
4082file-types = ["strace"]
4083
4084[[grammar]]
4085name = "strace"
4086source = { git = "https://github.com/sigmaSd/tree-sitter-strace", rev = "2b18fdf9a01e7ec292cc6006724942c81beb7fd5" }
4087
4088[[language]]
4089name = "gemini"
4090scope = "source.gmi"
4091file-types = ["gmi"]
4092
4093[[grammar]]
4094name = "gemini"
4095source = { git = "https://git.sr.ht/~nbsp/tree-sitter-gemini", rev = "3cc5e4bdf572d5df4277fc2e54d6299bd59a54b3" }
4096
4097[[language]]
4098name = "agda"
4099scope = "source.agda"
4100injection-regex = "agda"
4101file-types = ["agda"]
4102roots = []
4103comment-token = "--"
4104# language-servers = [ "als" ]
4105# the agda language server is of questionable functionality.
4106auto-format = false
4107indent = { tab-width = 2, unit = " " }
4108
4109[language.auto-pairs]
4110'"' = '"'
4111"'" = "'"
4112'{' = '}'
4113'(' = ')'
4114'[' = ']'
4115
4116# [language.debugger]
4117# ?? can this be used for proof assistant support? explore
4118
4119[[grammar]]
4120name = "agda"
4121source = { git = "https://github.com/tree-sitter/tree-sitter-agda", rev = "e8d47a6987effe34d5595baf321d82d3519a8527" }
4122
4123[[language]]
4124name = "templ"
4125scope = "source.templ"
4126file-types = ["templ"]
4127roots = ["go.work", "go.mod"]
4128comment-token = "//"
4129indent = { tab-width = 2, unit = " " }
4130language-servers = [ "templ" ]
4131
4132[[grammar]]
4133name = "templ"
4134source = { git = "https://github.com/vrischmann/tree-sitter-templ", rev = "47594c5cbef941e6a3ccf4ddb934a68cf4c68075" }
4135
4136[[language]]
4137name = "dbml"
4138scope = "source.dbml"
4139injection-regex = "dbml"
4140file-types = ["dbml"]
4141comment-token = ";"
4142indent = { tab-width = 2, unit = " " }
4143
4144[[grammar]]
4145name = "dbml"
4146source = { git = "https://github.com/dynamotn/tree-sitter-dbml", rev = "2e2fa5640268c33c3d3f27f7e676f631a9c68fd9" }
4147
4148[[language]]
4149name = "bitbake"
4150language-servers = [ "bitbake-language-server" ]
4151scope = "source.bitbake"
4152file-types = ["bb", "bbappend", "bbclass", {glob = "conf/*.conf" }, {glob = "conf/*/*.{inc,conf}" }, { glob = "recipe-*/*/*.inc" }]
4153comment-token = "#"
4154
4155[[grammar]]
4156name = "bitbake"
4157source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-bitbake", rev = "10bacac929ff36a1e8f4056503fe4f8717b21b94" }
4158
4159[[language]]
4160name = "log"
4161scope = "source.log"
4162file-types = ["log"]
4163
4164[[grammar]]
4165name = "log"
4166source = { git = "https://github.com/Tudyx/tree-sitter-log", rev = "62cfe307e942af3417171243b599cc7deac5eab9" }
4167
4168[[language]]
4169name = "hoon"
4170scope = "source.hoon"
4171injection-regex = "hoon"
4172file-types = ["hoon"]
4173comment-token = "::"
4174indent = {tab-width = 2, unit = " "}
4175
4176[[grammar]]
4177name = "hoon"
4178source = { git = "https://github.com/urbit-pilled/tree-sitter-hoon", rev = "1545137aadcc63660c47db9ad98d02fa602655d0" }
4179
4180[[language]]
4181name = "hocon"
4182scope = "source.conf"
4183file-types = [
4184 { glob = "**/src/*/resources/**/*.conf" },
4185 { glob = "*scalafmt*.conf" },
4186 { glob = "*scalafix*.conf" },
4187]
4188comment-token = "#"
4189auto-format = true
4190indent = { tab-width = 2, unit = " " }
4191
4192[[grammar]]
4193name = "hocon"
4194source = { git = "https://github.com/antosha417/tree-sitter-hocon", rev = "c390f10519ae69fdb03b3e5764f5592fb6924bcc" }
4195
4196[[language]]
4197name = "koka"
4198scope = "source.koka"
4199injection-regex = "koka"
4200file-types = ["kk"]
4201comment-token = "//"
4202indent = { tab-width = 8, unit = " " }
4203language-servers = ["koka"]
4204
4205[[grammar]]
4206name = "koka"
4207source = { git = "https://github.com/koka-community/tree-sitter-koka", rev = "fd3b482274d6988349ba810ea5740e29153b1baf" }
4208
4209[[language]]
4210name = "tolk"
4211scope = "source.tolk"
4212injection-regex = "tolk"
4213file-types = ["tolk"]
4214comment-token = "//"
4215indent = { tab-width = 4, unit = " " }
4216
4217[[grammar]]
4218name = "tolk"
4219source = { git = "https://github.com/ton-blockchain/ton-language-server", rev = "e90dbb89f8ec8fbf8a16b61a31d6cc19a840de4f", subpath = "server/src/languages/tolk/tree-sitter-tolk" }
4220
4221[[language]]
4222name = "tact"
4223scope = "source.tact"
4224injection-regex = "tact"
4225file-types = ["tact"]
4226comment-token = "//"
4227indent = { tab-width = 4, unit = " " }
4228
4229[language.auto-pairs]
4230'"' = '"'
4231'{' = '}'
4232'(' = ')'
4233'<' = '>'
4234
4235[[grammar]]
4236name = "tact"
4237source = { git = "https://github.com/tact-lang/tree-sitter-tact", rev = "ec57ab29c86d632639726631fb2bb178d23e1c91" }
4238
4239[[language]]
4240name = "pkl"
4241scope = "source.pkl"
4242injection-regex = "pkl"
4243file-types = ["pkl", "pcf", { glob = "PklProject" }]
4244comment-token = "//"
4245language-servers = ["pkl-lsp"]
4246indent = { tab-width = 2, unit = " " }
4247
4248[[grammar]]
4249name = "pkl"
4250source = { git = "https://github.com/apple/tree-sitter-pkl", rev = "c03f04a313b712f8ab00a2d862c10b37318699ae" }
4251
4252[[language]]
4253name = "groovy"
4254language-id = "groovy"
4255scope = "source.groovy"
4256file-types = ["gradle", "groovy", "jenkinsfile", { glob = "Jenkinsfile" }, { glob = "Jenkinsfile.*" }]
4257shebangs = ["groovy"]
4258comment-token = "//"
4259indent = { tab-width = 2, unit = " " }
4260
4261[[grammar]]
4262name = "groovy"
4263source = { git = "https://github.com/murtaza64/tree-sitter-groovy", rev = "235009aad0f580211fc12014bb0846c3910130c1" }
4264
4265[[language]]
4266name = "fidl"
4267scope = "source.fidl"
4268injection-regex = "fidl"
4269file-types = ["fidl"]
4270comment-token = "//"
4271indent = { tab-width = 4, unit = " " }
4272
4273[language.auto-pairs]
4274'"' = '"'
4275'{' = '}'
4276'(' = ')'
4277'<' = '>'
4278
4279[[grammar]]
4280name = "fidl"
4281source = { git = "https://github.com/google/tree-sitter-fidl", rev = "0a8910f293268e27ff554357c229ba172b0eaed2" }
4282
4283[[language]]
4284name = "powershell"
4285scope = "source.powershell"
4286injection-regex = "(pwsh|powershell)"
4287file-types = [ "ps1", "psm1", "psd1", "pscc", "psrc" ]
4288shebangs = [ "pwsh", "powershell" ]
4289comment-token = '#'
4290block-comment-tokens = { start = "<#", end = "#>" }
4291indent = { tab-width = 4, unit = " " }
4292
4293[[grammar]]
4294name = "powershell"
4295source = { git = "https://github.com/airbus-cert/tree-sitter-powershell", rev = "c9316be0faca5d5b9fd3b57350de650755f42dc0" }
4296
4297[[language]]
4298name = "ld"
4299scope = "source.ld"
4300injection-regex = "ld"
4301file-types = ["ld"]
4302block-comment-tokens = { start = "/*", end = "*/" }
4303indent = { tab-width = 2, unit = " " }
4304
4305[[grammar]]
4306name = "ld"
4307source = { git = "https://github.com/mtoohey31/tree-sitter-ld", rev = "0e9695ae0ede47b8744a8e2ad44d4d40c5d4e4c9" }
4308
4309[[language]]
4310name = "hy"
4311scope = "source.hy"
4312roots = ["pyproject.toml"]
4313file-types = ["hy"]
4314comment-token = ";"
4315indent = { tab-width = 1, unit = " " }
4316grammar = "scheme"
4317language-servers = ["hyuga"]
4318
4319[language.auto-pairs]
4320'(' = ')'
4321'{' = '}'
4322'[' = ']'
4323'"' = '"'
4324
4325[[language]]
4326name = "hyprlang"
4327scope = "source.hyprlang"
4328roots = ["hyprland.conf"]
4329file-types = [ { glob = "hypr/*.conf" }]
4330comment-token = "#"
4331grammar = "hyprlang"
4332language-servers = ["hyprls"]
4333
4334[[grammar]]
4335name = "hyprlang"
4336source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-hyprlang", rev = "27af9b74acf89fa6bed4fb8cb8631994fcb2e6f3"}
4337
4338[[language]]
4339name = "tcl"
4340scope = "source.tcl"
4341injection-regex = "tcl"
4342file-types = [ "tcl" ]
4343shebangs = [ "tclsh", "tclish", "jimsh", "wish" ]
4344comment-token = '#'
4345indent = { tab-width = 4, unit = " " }
4346
4347[[grammar]]
4348name = "tcl"
4349source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-tcl", rev = "56ad1fa6a34ba800e5495d1025a9b0fda338d5b8" }
4350
4351[[language]]
4352name = "supercollider"
4353scope = "source.supercollider"
4354injection-regex = "supercollider"
4355file-types = ["scd", "sc", "quark"]
4356comment-token = "//"
4357indent = { tab-width = 4, unit = "\t" }
4358
4359[[grammar]]
4360name = "supercollider"
4361source = { git = "https://github.com/madskjeldgaard/tree-sitter-supercollider", rev = "3b35bd0fded4423c8fb30e9585c7bacbcd0e8095" }
4362
4363[[language]]
4364name = "rpmspec"
4365scope = "source.rpmspec"
4366file-types = ["spec"]
4367comment-token = "#"
4368
4369[[grammar]]
4370name = "rpmspec"
4371source = { git = "https://gitlab.com/cryptomilk/tree-sitter-rpmspec", rev = "d0275cd1316d9b7a2e0fae028ce95a5a18741e1d" }
4372
4373[[language]]
4374name = "pkgbuild"
4375scope = "source.bash"
4376file-types = [{ glob = "PKGBUILD" }]
4377comment-token = "#"
4378grammar = "bash"
4379language-servers = [
4380 "termux-language-server",
4381 { except-features = [
4382 "diagnostics",
4383 ], name = "bash-language-server" },
4384]
4385
4386[[language]]
4387name = "helm"
4388grammar = "gotmpl"
4389scope = "source.helm"
4390roots = ["Chart.yaml"]
4391comment-token = "#"
4392language-servers = ["helm_ls"]
4393file-types = [ { glob = "templates/*.yaml" }, { glob = "templates/*.yml" }, { glob = "templates/_*.tpl"}, { glob = "templates/NOTES.txt" } ]
4394
4395[[language]]
4396name = "glimmer"
4397scope = "source.glimmer"
4398injection-regex = "hbs"
4399file-types = [{ glob = "{app,addon}/{components,templates}/*.hbs" }]
4400block-comment-tokens = { start = "{{!", end = "}}" }
4401roots = ["package.json", "ember-cli-build.js"]
4402grammar = "glimmer"
4403language-servers = ["ember-language-server"]
4404formatter = { command = "prettier", args = ['--parser', 'glimmer'] }
4405
4406[language.auto-pairs]
4407'"' = '"'
4408'{' = '}'
4409'(' = ')'
4410'<' = '>'
4411"'" = "'"
4412
4413[[grammar]]
4414name = "glimmer"
4415source = { git = "https://github.com/ember-tooling/tree-sitter-glimmer", rev = "88af85568bde3b91acb5d4c352ed094d0c1f9d84" }
4416
4417[[language]]
4418name = "ohm"
4419scope = "source.ohm"
4420injection-regex = "ohm"
4421file-types = ["ohm"]
4422comment-token = "//"
4423block-comment-tokens = [
4424 { start = "/*", end = "*/" },
4425 { start = "/**", end = "*/" },
4426]
4427indent = { tab-width = 2, unit = " " }
4428
4429[language.auto-pairs]
4430'"' = '"'
4431'{' = '}'
4432'(' = ')'
4433'<' = '>'
4434
4435[[grammar]]
4436name = "ohm"
4437source = { git = "https://github.com/novusnota/tree-sitter-ohm", rev = "a1de3e748a185a335b446613aaeff1eb10e83cdf" }
4438
4439[[language]]
4440name = "earthfile"
4441scope = "source.earthfile"
4442injection-regex = "earthfile"
4443roots = ["Earthfile"]
4444file-types = [
4445 { glob = "Earthfile" },
4446]
4447comment-token = "#"
4448indent = { tab-width = 2, unit = " " }
4449language-servers = ["earthlyls"]
4450
4451[[grammar]]
4452name = "earthfile"
4453source = { git = "https://github.com/glehmann/tree-sitter-earthfile", rev = "dbfb970a59cd87b628d087eb8e3fbe19c8e20601" }
4454
4455[[language]]
4456name = "adl"
4457scope = "source.adl"
4458injection-regex = "adl"
4459file-types = ["adl"]
4460roots = []
4461comment-token = "//"
4462indent = { tab-width = 2, unit = " " }
4463
4464[language.auto-pairs]
4465'"' = '"'
4466'{' = '}'
4467'<' = '>'
4468
4469[[grammar]]
4470name = "adl"
4471source = { git = "https://github.com/adl-lang/tree-sitter-adl", rev = "2787d04beadfbe154d3f2da6e98dc45a1b134bbf" }
4472
4473[[language]]
4474name = "ldif"
4475scope = "source.ldif"
4476injection-regex = "ldif"
4477file-types = ["ldif"]
4478comment-token = "#"
4479
4480[[grammar]]
4481name = "ldif"
4482source = { git = "https://github.com/kepet19/tree-sitter-ldif", rev = "0a917207f65ba3e3acfa9cda16142ee39c4c1aaa" }
4483
4484[[language]]
4485name = "xtc"
4486scope = "source.xtc"
4487# Accept Xena Traffic Configuration, Xena Port Configuration and Xena OpenAutomation
4488file-types = [ "xtc", "xpc", "xoa" ]
4489comment-token = ";"
4490
4491[[grammar]]
4492name = "xtc"
4493source = { git = "https://github.com/Alexis-Lapierre/tree-sitter-xtc", rev = "7bc11b736250c45e25cfb0215db2f8393779957e" }
4494
4495[[language]]
4496name = "move"
4497scope = "source.move"
4498injection-regex = "move"
4499roots = ["Move.toml"]
4500file-types = ["move"]
4501comment-token = "//"
4502indent = { tab-width = 4, unit = " " }
4503language-servers = []
4504
4505[[grammar]]
4506name = "move"
4507source = { git = "https://github.com/tzakian/tree-sitter-move", rev = "8bc0d1692caa8763fef54d48068238d9bf3c0264" }
4508
4509[[language]]
4510name = "pest"
4511scope = "source.pest"
4512injection-regex = "pest"
4513file-types = ["pest"]
4514comment-tokens = ["//", "///", "//!"]
4515block-comment-tokens = { start = "/*", end = "*/" }
4516indent = { tab-width = 4, unit = " " }
4517language-servers = ["pest-language-server"]
4518
4519[language.auto-pairs]
4520'(' = ')'
4521'{' = '}'
4522'[' = ']'
4523'"' = '"'
4524
4525[[grammar]]
4526name = "pest"
4527source = { git = "https://github.com/pest-parser/tree-sitter-pest", rev = "c19629a0c50e6ca2485c3b154b1dde841a08d169" }
4528
4529[[language]]
4530name = "elisp"
4531scope = "source.elisp"
4532file-types = ["el"]
4533comment-tokens = [";"]
4534
4535[language.auto-pairs]
4536'(' = ')'
4537'"' = '"'
4538
4539[[grammar]]
4540name = "elisp"
4541source = { git = "https://github.com/Wilfred/tree-sitter-elisp", rev = "29b4e49275f4a947ce17c8533bc20a1f97768c70" }
4542
4543[[language]]
4544name = "gjs"
4545scope = "source.gjs"
4546file-types = ["gjs"]
4547roots = ["package.json", "ember-cli-build.js"]
4548comment-token = "//"
4549block-comment-tokens = { start = "/*", end = "*/" }
4550language-servers = [
4551 { except-features = [
4552 "format", "diagnostics",
4553 ], name = "typescript-language-server" },
4554 "vscode-eslint-language-server",
4555 "ember-language-server",
4556]
4557indent = { tab-width = 2, unit = " " }
4558grammar = "glimmer-javascript"
4559
4560[language.auto-pairs]
4561'<' = '>'
4562"'" = "'"
4563"{" = "}"
4564"(" = ")"
4565'"' = '"'
4566
4567[[grammar]]
4568name = "glimmer-javascript"
4569source = { git = "https://github.com/ember-tooling/tree-sitter-glimmer-javascript", rev = "d9cf7a2f1dad3c6b660148eaf77e955d418fdb8b" }
4570
4571[[language]]
4572name = "gts"
4573scope = "source.gts"
4574file-types = ["gts"]
4575roots = ["package.json", "ember-cli-build.js"]
4576comment-token = "//"
4577block-comment-tokens = { start = "/*", end = "*/" }
4578language-servers = [
4579 { except-features = [
4580 "format", "diagnostics",
4581 ], name = "typescript-language-server" },
4582 "vscode-eslint-language-server",
4583 "ember-language-server",
4584]
4585indent = { tab-width = 2, unit = " " }
4586grammar = "glimmer-typescript"
4587
4588[language.auto-pairs]
4589'<' = '>'
4590"'" = "'"
4591"{" = "}"
4592"(" = ")"
4593'"' = '"'
4594
4595[[grammar]]
4596name = "glimmer-typescript"
4597source = { git = "https://github.com/ember-tooling/tree-sitter-glimmer-typescript", rev = "12d98944c1d5077b957cbdb90d663a7c4d50118c" }
4598
4599[[language]]
4600name = "gherkin"
4601scope = "source.feature"
4602file-types = ["feature"]
4603comment-token = "#"
4604indent = { tab-width = 2, unit = " " }
4605
4606[[grammar]]
4607name = "gherkin"
4608source = { git = "https://github.com/SamyAB/tree-sitter-gherkin", rev = "43873ee8de16476635b48d52c46f5b6407cb5c09" }
4609
4610[[language]]
4611name = "thrift"
4612scope = "source.thrift"
4613file-types = ["thrift"]
4614comment-token = "//"
4615block-comment-tokens = { start = "/*", end = "*/" }
4616indent = { tab-width = 2, unit = " " }
4617
4618[[grammar]]
4619name = "thrift"
4620source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-thrift" , rev = "68fd0d80943a828d9e6f49c58a74be1e9ca142cf" }
4621
4622[[language]]
4623name = "circom"
4624scope = "source.circom"
4625injection-regex = "circom"
4626file-types = ["circom"]
4627roots = ["package.json"]
4628comment-tokens = "//"
4629indent = { tab-width = 4, unit = " " }
4630auto-format = false
4631language-servers = ["circom-lsp"]
4632
4633[[grammar]]
4634name = "circom"
4635source = { git = "https://github.com/Decurity/tree-sitter-circom", rev = "02150524228b1e6afef96949f2d6b7cc0aaf999e" }
4636
4637[[language]]
4638name = "snakemake"
4639scope = "source.snakemake"
4640roots = ["Snakefile", "config.yaml", "environment.yaml", "workflow/"]
4641file-types = ["smk", { glob = "Snakefile" } ]
4642comment-tokens = ["#", "##"]
4643indent = { tab-width = 2, unit = " " }
4644language-servers = ["pylsp" ]
4645
4646[language.formatter]
4647command = "snakefmt"
4648args = ["-"]
4649
4650[[grammar]]
4651name = "snakemake"
4652source = { git = "https://github.com/osthomas/tree-sitter-snakemake", rev = "e909815acdbe37e69440261ebb1091ed52e1dec6" }
4653
4654[[language]]
4655name = "cylc"
4656scope = "source.cylc"
4657injection-regex = "cylc"
4658file-types = ["cylc", { glob = "suite.rc" }]
4659comment-tokens = "#"
4660indent = { tab-width = 4, unit = " " }
4661
4662[[grammar]]
4663name = "cylc"
4664source = { git = "https://github.com/elliotfontaine/tree-sitter-cylc", rev = "6d1d81137112299324b526477ce1db989ab58fb8" }
4665
4666[[language]]
4667name = "quint"
4668scope = "source.quint"
4669file-types = ["qnt"]
4670language-servers = ["quint-language-server"]
4671comment-token = "//"
4672block-comment-tokens = { start = "/*", end = "*/" }
4673indent = { tab-width = 2, unit = " " }
4674
4675[[grammar]]
4676name = "quint"
4677source = { git = "https://github.com/gruhn/tree-sitter-quint", rev = "eebbd01edfeff6404778c92efe5554e42e506a18" }
4678
4679[[language]]
4680name = "spade"
4681scope = "source.spade"
4682roots = ["swim.toml"]
4683file-types = ['spade']
4684injection-regex = "spade"
4685comment-tokens = ["//", "///"]
4686block-comment-tokens = [
4687 { start = "/*", end = "*/" },
4688 { start = "/**", end = "*/" },
4689]
4690language-servers = [ "spade-language-server" ]
4691indent = { tab-width = 4, unit = " " }
4692
4693[language.auto-pairs]
4694'(' = ')'
4695'{' = '}'
4696'[' = ']'
4697'"' = '"'
4698'<' = '>'
4699
4700[[grammar]]
4701name = "spade"
4702source = { git = "https://codeberg.org/spade-lang/tree-sitter-spade", rev = "996aaabea9a9fbe498ae0876356028a78e6ef8db" }
4703
4704[[language]]
4705name = "amber"
4706scope = "source.ab"
4707file-types = ["ab"]
4708comment-token = ["//", "///"]
4709indent = { tab-width = 4, unit = " " }
4710language-servers = ["amber-lsp"]
4711
4712[[grammar]]
4713name = "amber"
4714source = { git = "https://github.com/amber-lang/tree-sitter-amber", rev = "107c6d4a420fb0c5962b62ebd9347b7eb0015957" }
4715
4716[[language]]
4717name = "koto"
4718scope = "source.koto"
4719injection-regex = "koto"
4720file-types = ["koto"]
4721comment-token = "#"
4722block-comment-tokens = ["#-", "-#"]
4723indent = { tab-width = 2, unit = " " }
4724language-servers = ["koto-ls"]
4725formatter = {command = "koto", args = ["--format"]}
4726
4727[[grammar]]
4728name = "koto"
4729source = { git = "https://github.com/koto-lang/tree-sitter-koto", rev = "633744bca404ae4edb961a3c2d7bc947a987afa4" }
4730
4731[[language]]
4732name = "gpr"
4733scope = "source.gpr"
4734injection-regex = "gpr"
4735file-types = ["gpr"]
4736roots = ["alire.toml"]
4737comment-token = "--"
4738indent = { tab-width = 3, unit = " " }
4739language-servers = ["ada-gpr-language-server"]
4740
4741[[grammar]]
4742name = "gpr"
4743source = { git = "https://github.com/brownts/tree-sitter-gpr", rev = "cea857d3c18d1385d1f5b66cd09ea1e44173945c" }
4744
4745[[language]]
4746name = "vento"
4747scope = "text.html.vto"
4748file-types = ["vto"]
4749block-comment-tokens = { start = "{{#", end = "#}}" }
4750indent = { tab-width = 4, unit = " " }
4751
4752[[grammar]]
4753name = "vento"
4754source = { git = "https://github.com/ventojs/tree-sitter-vento", rev = "3b32474bc29584ea214e4e84b47102408263fe0e" }
4755
4756[[language]]
4757name = "nginx"
4758scope = "source.nginx"
4759injection-regex = "nginx"
4760file-types = [
4761 { glob = "sites-available/*.conf" },
4762 { glob = "sites-enabled/*.conf" },
4763 { glob = "nginx.conf" },
4764 { glob = "conf.d/*.conf" }
4765]
4766roots = ["nginx.conf"]
4767comment-token = "#"
4768indent = { tab-width = 4, unit = " " }
4769
4770[[grammar]]
4771name = "nginx"
4772source = { git = "https://gitlab.com/joncoole/tree-sitter-nginx", rev = "f6d13cf6281b25f2ce342a49a41a10a0381e00f0" }
4773
4774[[language]]
4775name = "codeql"
4776scope = "source.ql"
4777file-types = ["ql", "qll"]
4778comment-token = "//"
4779block-comment-tokens = { start = "/*", end = "*/" }
4780indent = { tab-width = 2, unit = " " }
4781injection-regex = "codeql"
4782grammar = "ql"
4783language-servers = ["codeql"]
4784
4785[[grammar]]
4786name = "ql"
4787source = { git = "https://github.com/tree-sitter/tree-sitter-ql", rev = "1fd627a4e8bff8c24c11987474bd33112bead857" }
4788
4789[[language]]
4790name = "gren"
4791scope = "source.gren"
4792injection-regex = "gren"
4793file-types = ["gren"]
4794roots = ["gren.json"]
4795comment-tokens = "--"
4796block-comment-tokens = { start = "{-", end = "-}" }
4797indent = { tab-width = 4, unit = " " }
4798
4799[[grammar]]
4800name = "gren"
4801source = { git = "https://github.com/MaeBrooks/tree-sitter-gren", rev = "76554f4f2339f5a24eed19c58f2079b51c694152" }
4802
4803[[language]]
4804name = "ghostty"
4805scope = "source.ghostty"
4806file-types = ["ghostty", { glob = "ghostty/config" }]
4807comment-tokens = "#"
4808indent = { tab-width = 2, unit = " " }
4809
4810[[grammar]]
4811name = "ghostty"
4812source = { git = "https://github.com/bezhermoso/tree-sitter-ghostty" , rev = "4a0fd2ae492c6bbfd13a134067ee4258f0e0f189" }
4813
4814[[language]]
4815name = "tera"
4816scope = "source.tera"
4817file-types = ["tera"]
4818block-comment-tokens = [
4819 { start = "{#", end = "#}" },
4820 { start = "{#-", end = "-#}" },
4821 { start = "{#", end = "-#}" },
4822 { start = "{#-", end = "#}" },
4823]
4824indent = { tab-width = 4, unit = " " }
4825
4826[[grammar]]
4827name = "tera"
4828source = { git = "https://github.com/uncenter/tree-sitter-tera", rev = "3a38c368e806268daac9923a27e72bcafbbc16bb" }
4829
4830[[language]]
4831name = "fga"
4832scope = "source.fga"
4833injection-regex = "fga"
4834file-types = ["fga", { glob = "fga.mod" } ]
4835comment-token = "#"
4836indent = { tab-width = 2, unit = " " }
4837
4838[[grammar]]
4839name = "fga"
4840source = { git = "https://github.com/matoous/tree-sitter-fga", rev = "ce72d1c484ba133a18e966d67be66bce85695451" }
4841
4842[[language]]
4843name = "csv"
4844file-types = ["csv"]
4845scope = "source.csv"
4846
4847[[grammar]]
4848name = "csv"
4849source = { git = "https://github.com/weartist/rainbow-csv-tree-sitter", rev = "d3dbf916446131417e4c2ea9eb8591b23b466d27" }
4850
4851[[language]]
4852name = "yara"
4853scope = "source.yara"
4854file-types = ["yara", "yar"]
4855indent = { tab-width = 2, unit = " " }
4856comment-tokens = "//"
4857block-comment-tokens = { start = "/*", end = "*/"}
4858language-servers = [ "yls" ]
4859
4860[[grammar]]
4861name = "yara"
4862source = { git = "https://github.com/egibs/tree-sitter-yara", rev = "eb3ede203275c38000177f72ec0f9965312806ef" }
4863
4864[[language]]
4865name = "ink"
4866scope = "source.ink"
4867file-types = ["ink"]
4868injection-regex = "ink"
4869comment-token = "//"
4870block-comment-tokens = { start = "/*", end = "*/"}
4871indent = { tab-width = 4, unit = "\t" }
4872soft-wrap = { enable = true }
4873
4874[[grammar]]
4875name = "ink"
4876source = { git = "https://github.com/rhizoome/tree-sitter-ink", rev = "8486e9b1627b0bc6b2deb9ee8102277a7c1281ac" }
4877
4878[[language]]
4879name = "sourcepawn"
4880scope = "source.sourcepawn"
4881file-types = ["sp", "inc"]
4882comment-token = "//"
4883indent = {tab-width = 4, unit = " "}
4884language-servers = ["sourcepawn-studio"]
4885
4886[[grammar]]
4887name = "sourcepawn"
4888source = { git = "https://github.com/nilshelmig/tree-sitter-sourcepawn", rev = "5a8fdd446b516c81e218245c12129c6ad4bccfa2" }
4889
4890[[grammar]]
4891name = "vim"
4892source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-vim", rev = "f3cd62d8bd043ef20507e84bb6b4b53731ccf3a7" }
4893
4894[[language]]
4895name = "vim"
4896scope = "source.vim"
4897injection-regex = "vim"
4898comment-token = '"'
4899indent = { tab-width = 4, unit = "\t" }
4900file-types = [
4901 "vim",
4902 { glob = ".vimrc" },
4903 { glob = ".nvimrc" },
4904 { glob = ".exrc" }
4905]
4906
4907[[language]]
4908name = "tlaplus"
4909scope = "scope.tlaplus"
4910injection-regex = "tla"
4911file-types = ["tla"]
4912comment-tokens = "\\*"
4913block-comment-tokens = {start = "(*", end="*)"}
4914indent = {tab-width = 4, unit = " "}
4915formatter = {command = "tlafmt", args = ["--stdin"]}
4916
4917[[grammar]]
4918name = "tlaplus"
4919source = { git = "https://github.com/tlaplus-community/tree-sitter-tlaplus", rev = "add40814fda369f6efd989977b2c498aaddde984"}
4920
4921[[language]]
4922name = "werk"
4923scope = "source.werk"
4924file-types = [ "werk", { glob = "Werkfile" } ]
4925comment-token = "#"
4926indent = { tab-width = 2, unit = " " }
4927
4928[[grammar]]
4929name = "werk"
4930source = { git = "https://github.com/little-bonsai/tree-sitter-werk", rev = "92b0f7fe98465c4c435794a58e961306193d1c1e" }
4931
4932[[language]]
4933name = "debian"
4934scope = "text.debian"
4935file-types = [
4936 "dsc",
4937 "changes",
4938 { glob = "debian/control" },
4939 { glob = "debian/copyright" },
4940 { glob = "debian/watch" },
4941 { glob = "debian/changelog" },
4942 { glob = "debian/source/format" },
4943 { glob = "debian/source/options" },
4944 { glob = "debian/source/local-options" },
4945 { glob = "debian/tests/control" },
4946 { glob = "debian/upstream/metadata" },
4947 { glob = "debian/rules" },
4948 { glob = "etc/apt/sources.list.d/*.sources" }
4949]
4950comment-tokens = "#"
4951language-servers = [ "debian-lsp" ]
4952
4953[[grammar]]
4954name = "debian"
4955source = { git = "https://gitlab.com/MggMuggins/tree-sitter-debian", rev = "9b3f4b78c45aab8a2f25a5f9e7bbc00995bc3dde" }
4956
4957[[language]]
4958name = "pug"
4959scope = "source.pug"
4960file-types = ["pug"]
4961comment-tokens = ["//", "//-"]
4962indent = { tab-width = 2, unit = " " }
4963
4964[[grammar]]
4965name = "pug"
4966source = { git = "https://github.com/zealot128/tree-sitter-pug", rev = "13e9195370172c86a8b88184cc358b23b677cc46" }
4967
4968[[language]]
4969name = "dunstrc"
4970scope = "source.dunstrc"
4971comment-tokens = ["#", ";"]
4972file-types = [ { glob = "dunst/dunstrc" } ]
4973
4974[[grammar]]
4975name = "dunstrc"
4976source = { git = "https://github.com/rotmh/tree-sitter-dunstrc", rev = "9cb9d5cc51cf5e2a47bb2a0e2f2e519ff11c1431" }
4977
4978[[language]]
4979name = "rust-format-args"
4980scope = "source.rust-format-args"
4981file-types = []
4982injection-regex = "rust-format-args"
4983
4984[[grammar]]
4985name = "rust-format-args"
4986source = { git = "https://github.com/nik-rev/tree-sitter-rust-format-args", rev = "84ffe550e261cf5ea40a0ec31849ba2443bae99f" }
4987
4988[[language]]
4989name = "rust-format-args-macro"
4990scope = "source.rust-format-args-macro"
4991file-types = []
4992grammar = "rust"
4993
4994[[language]]
4995name = "clarity"
4996scope = "source.clar"
4997injection-regex = "clarity"
4998file-types = ["clar"]
4999roots = ["Clarinet.toml"]
5000comment-tokens = ";;"
5001indent = { tab-width = 2, unit = " " }
5002language-servers = [ "clarinet" ]
5003
5004[[grammar]]
5005name = "clarity"
5006source = { git = "https://github.com/xlittlerag/tree-sitter-clarity", rev = "1436da3946359fcd7ac2d81917aaa78ef1e01755" }
5007
5008[[language]]
5009name = "alloy"
5010scope = "source.alloy"
5011injection-regex = "alloy"
5012file-types = ["alloy"]
5013comment-token = "//"
5014block-comment-tokens = { start = "/*", end = "*/" }
5015indent = { tab-width = 2, unit = " " }
5016
5017[[grammar]]
5018name = "alloy"
5019source = { git = "https://github.com/mattsre/tree-sitter-alloy", rev = "58d462b1cdb077682b130caa324f3822aeb00b8e" }
5020
5021[[language]]
5022name = "luau"
5023scope = "source.luau"
5024injection-regex = "^luau$"
5025file-types = ["luau"]
5026comment-tokens = ["--", "---"]
5027block-comment-tokens = [
5028 {start = "--[[", end = "]]"},
5029 {start = "--[=[", end = "]=]"},
5030 {start = "--[==[", end = "]==]"}
5031]
5032indent = { tab-width = 2, unit = " "}
5033roots = [ "aftman.toml", "default.project.json", "wally.toml", "rokit.toml", "selene.toml", ".darklua.json", "foreman.toml", ".luaurc" ]
5034language-servers = [ "luau" ]
5035
5036[[grammar]]
5037name = "luau"
5038source = { git = "https://github.com/polychromatist/tree-sitter-luau", rev = "ec187cafba510cddac265329ca7831ec6f3b9955" }
5039
5040[[language]]
5041name = "caddyfile"
5042scope = "source.caddyfile"
5043injection-regex = "caddyfile"
5044file-types = [
5045 "Caddyfile",
5046 { glob = "Caddyfile" },
5047 { glob = "Caddyfile.*" },
5048 "caddyfile",
5049 { glob = "caddyfile" },
5050 { glob = "caddyfile.*" },
5051]
5052comment-tokens = ["#"]
5053indent = { tab-width = 4, unit = " " }
5054formatter = { command = "caddy", args = ["fmt", "-"] }
5055auto-format = true
5056
5057[[grammar]]
5058name = "caddyfile"
5059source = { git = "https://github.com/caddyserver/tree-sitter-caddyfile", rev = "683332a6430675abfd9867201ef47b2b99bdb266" }
5060
5061[[language]]
5062name = "properties"
5063scope = "source.properties"
5064injection-regex = "properties"
5065file-types = ["properties", "prefs"]
5066comment-tokens = ["#"]
5067
5068[[grammar]]
5069name = "properties"
5070source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-properties", rev = "6310671b24d4e04b803577b1c675d765cbd5773b" }
5071
5072[[language]]
5073name = "robots.txt"
5074scope = "source.robots.txt"
5075file-types = [{ glob = "robots.txt" }]
5076injection-regex = "robots[\\.-]txt"
5077grammar = "robots-txt"
5078comment-token = "#"
5079
5080[[grammar]]
5081name = "robots-txt"
5082source = { git = "https://github.com/opa-oz/tree-sitter-robots-txt", rev = "0c066107e3548de79316a6a4ec771e2f7cf7c468" }
5083
5084[[language]]
5085name = "pip-requirements"
5086scope = "source.pip-requirements"
5087injection-regex = "(pip-)?requirements(\\.txt)?"
5088grammar = "requirements"
5089file-types = [{ glob = "requirements.txt" }, { glob = "constraints.txt" }]
5090
5091[[grammar]]
5092name = "requirements"
5093source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-requirements", rev = "2c3bb291f497258ba417d052faa14a2dfee6d401" }
5094
5095[[language]]
5096name = "kconfig"
5097file-types = ["Kconfig", { glob = "Kconfig.*" }]
5098scope = "source.kconfig"
5099
5100[[grammar]]
5101name = "kconfig"
5102source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-kconfig" , rev = "9ac99fe4c0c27a35dc6f757cef534c646e944881" }
5103
5104[[language]]
5105name = "doxyfile"
5106scope = "source.doxyfile"
5107injection-regex = "[Dd]oxyfile"
5108file-types = [{ glob = "Doxyfile" }]
5109comment-token = "#"
5110indent = { tab-width = 4, unit = " " }
5111
5112[[grammar]]
5113name = "doxyfile"
5114source = { git = "https://github.com/tingerrr/tree-sitter-doxyfile/", rev = "18e44c6da639632a4e42264c7193df34be915f34" }
5115
5116[[language]]
5117name = "cross-config"
5118scope = "source.cross-config"
5119injection-regex = "cross(-config)"
5120grammar = "toml"
5121comment-token = "#"
5122file-types = [{glob = "Cross.toml"}]
5123language-servers = [ "taplo", "tombi" ]
5124indent = { tab-width = 2, unit = " " }
5125
5126[[language]]
5127name = "git-cliff-config"
5128scope = "source.git-cliff-config"
5129injection-regex = "git-cliff(-config)"
5130grammar = "toml"
5131comment-token = "#"
5132file-types = [{ glob = "cliff.toml" }]
5133language-servers = ["taplo", "tombi"]
5134indent = { tab-width = 2, unit = " " }
5135
5136[[language]]
5137name = "cython"
5138scope = "source.cython"
5139file-types = ["pxd", "pxi", "pyx"]
5140comment-token = "#"
5141roots = ["pyproject.toml", "setup.py", "poetry.lock"]
5142indent = { tab-width = 4, unit = " " }
5143
5144[[grammar]]
5145name = "cython"
5146source = { git = "https://github.com/b0o/tree-sitter-cython", rev = "62f44f5e7e41dde03c5f0a05f035e293bcf2bcf8" }
5147
5148[[language]]
5149name = "shellcheckrc"
5150scope = "source.shellcheckrc"
5151injection-regex = "shellcheck(rc)?"
5152file-types = [{glob = "shellcheckrc"}, {glob = ".shellcheckrc"}]
5153comment-token = "#"
5154
5155[[grammar]]
5156name = "shellcheckrc"
5157source = {git = "https://codeberg.org/kpbaks/tree-sitter-shellcheckrc", rev = "ad3da4e8f7fd72dcc5e93a6b89822c59a7cd10ff"}
5158
5159[[grammar]]
5160name = "strictdoc"
5161source = { git = "https://github.com/manueldiagostino/tree-sitter-strictdoc", rev = "bba07bd4d41835e3e5f456a9603ce601b1be1937" }
5162
5163[[language]]
5164name = "strictdoc"
5165scope = "source.strictdoc"
5166injection-regex = "strictdoc"
5167file-types = ["sdoc", "sgra"]
5168comment-token = ".."
5169
5170[[language]]
5171name = "docker-bake"
5172language-id = "dockerbake"
5173scope = "source.docker-bake"
5174injection-regex = "docker-bake"
5175grammar = "hcl"
5176file-types = [
5177 { glob = "docker-bake.hcl" },
5178 { glob = "docker-bake.override.hcl" },
5179]
5180comment-token = "#"
5181block-comment-tokens = { start = "/*", end = "*/" }
5182indent = { tab-width = 2, unit = " " }
5183language-servers = ["docker-language-server"]
5184
5185[[language]]
5186name = "gitlab-ci"
5187scope = "source.gitlab-ci"
5188injection-regex = "^gitlab-ci$"
5189file-types = [{ glob = ".gitlab-ci.yml" }]
5190grammar = "yaml"
5191indent = { tab-width = 2, unit = " " }
5192language-servers = ["yaml-language-server", "gitlab-ci-ls"]
5193comment-token = "#"
5194
5195[[grammar]]
5196name = "wikitext"
5197source = { git = "https://github.com/santhoshtr/tree-sitter-wikitext", rev = "444214b31695e9dd4d32fb06247397fb8778a9d2"}
5198
5199[[language]]
5200name = "wikitext"
5201scope = "source.wikitext"
5202file-types = ["wikimedia", "mediawiki", "wikitext"]
5203language-servers = ["wikitext-lsp"]
5204indent = { tab-width = 2, unit = " " }
5205block-comment-tokens = { start = "<!--", end = "-->" }
5206word-completion.trigger-length = 4
5207
5208[[language]]
5209name = "slisp"
5210scope = "source.sl"
5211injection-regex = "sl"
5212file-types = ["sl"]
5213comment-token = ";"
5214indent = { tab-width = 2, unit = " " }
5215
5216[[grammar]]
5217name = "slisp"
5218source = { git = "https://github.com/xenogenics/tree-sitter-slisp", rev = "29f9c6707ce9dfc2fc915d175ec720b207f179f3" }
5219
5220[[language]]
5221name = "nearley"
5222scope = "source.nearley"
5223file-types = ["ne"]
5224comment-token = "#"
5225indent = { tab-width = 2, unit = " " }
5226
5227[[grammar]]
5228name = "nearley"
5229source = { git = "https://github.com/mi2ebi/tree-sitter-nearley", rev = "12d01113e194c8e83f6341aab8c2a5f21db9cac9" }
5230
5231[[language]]
5232name = "kcl"
5233scope = "source.kcl"
5234injection-regex = "kcl"
5235file-types = ["kcl"]
5236comment-tokens = "//"
5237indent = { tab-width = 2, unit = " " }
5238formatter = { command = "zoo" , args = ["kcl", "fmt", "-"] }
5239language-servers = [ "kcl-lsp" ]
5240block-comment-tokens = { start = "/*", end = "*/"}
5241
5242[[grammar]]
5243name = "kcl"
5244source = { git = "https://github.com/KittyCAD/tree-sitter-kcl", rev = "8905e0bdbf5870b50bc3f24345f1af27746f42e8"}
5245
5246[[language]]
5247name = "bovex"
5248scope = "source.bovex"
5249file-types = ["bovex", "bibvex"]
5250comment-tokens = []
5251block-comment-tokens = [{start = "(*", end = "*)"}, {start = "[*", end = "*]"}]
5252indent = {tab-width = 2, unit = " "}
5253[language.auto-pairs]
5254'(' = ')'
5255'[' = ']'
5256'{' = '}'
5257'"' = '"'
5258'“' = '”'
5259'‘' = '’'
5260
5261[[language]]
5262name = "haxe"
5263scope = "source.haxe"
5264injection-regex = "hx|haxe"
5265file-types = ["hx"]
5266roots = ["haxelib.json", "project.xml", "build.hxml"]
5267shebangs = []
5268auto-format = true
5269comment-tokens = ["//", "///"]
5270block-comment-tokens = [
5271 { start = "/*", end = "*/" },
5272 { start = "/**", end = "*/" },
5273]
5274language-servers = ["haxe-language-server"]
5275indent = { tab-width = 4, unit = " " }
5276persistent-diagnostic-sources = ["haxe"]
5277
5278[[grammar]]
5279name = "haxe"
5280source = { git = "https://github.com/vantreeseba/tree-sitter-haxe", rev = "f2a2394d9ca7a6099f78d8b0d178530e7c9a8e26" }
5281
5282[[language]]
5283name = "basic"
5284scope = "source.basic"
5285injection-regex = "basic"
5286file-types = ["bas"]
5287comment-token = "REM"
5288indent = { tab-width = 2, unit = " " }
5289
5290[[grammar]]
5291name = "basic"
5292source = { git = "https://github.com/Ra77a3l3-jar/tree-sitter-basic", rev = "a98449c11d6c688b54c1ca132148a62d7e586a2a" }
5293
5294[[language]]
5295name = "freebasic"
5296scope = "source.freebasic"
5297injection-regex = "freebasic"
5298file-types = ["bas", "bi"]
5299comment-tokens = ["'", "REM"]
5300indent = { tab-width = 4, unit = " " }
5301
5302[[grammar]]
5303name = "freebasic"
5304source = { git = "https://github.com/Ra77a3l3-jar/tree-sitter-freebasic", rev = "dbf696adb4c0b9c020074e75043c90592981ee7f" }
5305
5306[[language]]
5307name = "scfg"
5308scope = "source.scfg"
5309file-types = [{ glob = "kanshi/config" }]
5310comment-token = "#"
5311
5312[[grammar]]
5313name = "scfg"
5314source = { git = "https://github.com/rockorager/tree-sitter-scfg", rev = "d850fd470445d73de318a21d734d1e09e29b773c" }
5315
5316[[language]]
5317name = "ripple"
5318scope = "source.ripple"
5319file-types = [ "ripple" ]
5320roots = [ "package.json" ]
5321comment-token = "//"
5322block-comment-tokens = { start = "/*", end = "*/" }
5323indent = { tab-width = 4, unit=" "}
5324language-servers = [ "ripple-lsp" ]
5325
5326[[grammar]]
5327name = "ripple"
5328source = { git = "https://github.com/Ripple-TS/ripple", rev = "49762f0a63de0d1845fcd2e6632639c095995336", subpath = "packages/tree-sitter" }
5329
5330[[language]]
5331name = "woodpecker-ci"
5332scope = "source.woodpecker-ci"
5333injection-regex = "^woodpecker-ci$"
5334# https://woodpecker-ci.org/docs/usage/workflows
5335file-types = [
5336 { glob = ".woodpecker.yaml" },
5337 { glob = ".woodpecker/*.yaml" },
5338 { glob = ".woodpecker/*.yml" },
5339]
5340grammar = "yaml"
5341indent = { tab-width = 2, unit = " " }
5342language-servers = ["yaml-language-server"]
5343comment-token = "#"
5344formatter = { command = "yamlfmt", args = ['-'] }
5345auto-format = true
5346
5347[[language]]
5348name = "chuck"
5349scope = "source.ck"
5350comment-tokens = "//"
5351block-comment-tokens = { start = "/*", end = "*/" }
5352file-types = [{ glob = "*.ck" }]
5353indent = { tab-width = 4, unit=" "}
5354injection-regex = "^chuck$|^ck$"
5355
5356[[grammar]]
5357name = "chuck"
5358source = { git = "https://github.com/tymbalodeon/tree-sitter-chuck", rev = "68fb7bdba480915d87177feaa5593a666c0bb602" }
5359
5360[[language]]
5361name = "qmv"
5362scope = "source.qmv"
5363file-types = [ { glob = "/tmp/qmv*" } ]
5364indent = { tab-width = 8, unit = " " }
5365soft-wrap = { enable = false }
5366
5367[[language]]
5368name = "klog"
5369scope = "source.klg"
5370file-types = [ "klg" ]
5371injection-regex = "klg"
5372indent = { tab-width = 4, unit=" "}
5373[language.auto-pairs]
5374'(' = ')'
5375'"' = '"'
5376"'" = "'"
5377
5378[[grammar]]
5379name = "klog"
5380source = { git = "https://github.com/Ansimorph/tree-sitter-klog/", rev = "0b215fe75bdeb8368546e3cee36aca8c19212d06" }
5381
5382[[language]]
5383name = "styx"
5384scope = "source.styx"
5385injection-regex = "styx"
5386file-types = ["styx"]
5387comment-tokens = ["//", "///"]
5388language-servers = ["styx"]
5389indent = { tab-width = 2, unit = " " }
5390auto-format = true
5391
5392[language.auto-pairs]
5393'(' = ')'
5394'{' = '}'
5395'"' = '"'
5396"'" = "'"
5397
5398[[grammar]]
5399name = "styx"
5400source = { git = "https://github.com/bearcove/styx", subpath = "crates/tree-sitter-styx" , rev = "51feb2a67f211e806e5e2764bc5c06738a6c40d7" }
5401
5402# https://docs.tilt.dev/editor.html
5403[[language]]
5404name = "tilt"
5405scope = "source.tilt"
5406injection-regex = "[Tt]ilt(file)?"
5407file-types = [{ glob = "Tiltfile" }, "tiltfile"]
5408comment-token = "#"
5409grammar = "python" # Uses starlark as grammar
5410indent = { tab-width = 4, unit = " " }
5411language-servers = ["tilt"]
5412formatter = {command = "buildifier"} # Official formatter tool for starlark/bazel
5413auto-format = true
5414
5415[[language]]
5416name = "gnuplot"
5417scope = "source.gnuplot"
5418file-types = [ "gnuplot", "plot", "plt" ]
5419injection-regex = "gnuplot"
5420indent = { tab-width = 4, unit=" "}
5421comment-token = "#"
5422[language.auto-pairs]
5423'(' = ')'
5424'"' = '"'
5425"'" = "'"
5426
5427[[grammar]]
5428name = "gnuplot"
5429source = { git = "https://codeberg.org/maribu/tree-sitter-gnuplot", rev = "21a3a3929facb964b3592daeb69119294ff84cf2" }
5430
5431[[language]]
5432name = "ebnf"
5433scope = "source.ebnf"
5434file-types = ["ebnf"]
5435injection-regex = "ebnf"
5436language-servers = ["ebnfer"]
5437indent = { tab-width = 4, unit = " " }
5438block-comment-tokens = { end = "*)", start = "(*" }
5439
5440
5441[[grammar]]
5442name = "ebnf"
5443source = { git = "https://github.com/RubixDev/ebnf/", rev = "8e635b0b723c620774dfb8abf382a7f531894b40", subpath = "crates/tree-sitter-ebnf" }
5444
5445[[language]]
5446name = "drools"
5447scope = "source.drools"
5448file-types = ["drl"]
5449roots = ["pom.xml", ".git"]
5450comment-tokens = "//"
5451language-servers = [ "drools-lsp" ]
5452formatter = { command = "drools-fmt" }
5453
5454[[grammar]]
5455name = "drools"
5456source = { git = "https://github.com/iByteABit256/tree-sitter-drools", rev = "f1404d2a3974dfcfd4193246e763edeeb4b399c1" }
5457
5458[[language]]
5459name = "proverif"
5460scope = "source.proverif"
5461file-types = [ "pv" ]
5462injection-regex = "proverif"
5463indent = { tab-width = 8, unit=" "}
5464block-comment-tokens = { start = "(*", end = "*)" }
5465[language.auto-pairs]
5466'(' = ')'
5467'"' = '"'
5468"'" = "'"
5469
5470[[grammar]]
5471name = "proverif"
5472source = { git = "https://codeberg.org/maribu/tree-sitter-proverif", rev = "7741807092c4009c1fe4c3648da60ca72b1b80f1" }
5473
5474[[language]]
5475name = "ptx"
5476scope = "source.ptx"
5477injection-regex = "ptx"
5478file-types = ["ptx"]
5479language-servers = []
5480comment-token = "//"
5481block-comment-tokens = { start = "/*", end = "*/" }
5482indent = { tab-width = 4, unit = " " }
5483
5484[[grammar]]
5485name = "ptx"
5486source = { git = "https://codeberg.org/jer-gremlin/tree-sitter-ptx", rev = "3dfa6758d4c15832d051f933101992b9e01d6611" }
5487
5488[[language]]
5489name = "tql"
5490scope = "source.tql"
5491file-types = [ "tql" ]
5492injection-regex = "tql"
5493indent = {tab-width = 2, unit = " "}
5494comment-token = "//"
5495
5496[[grammar]]
5497name = "tql"
5498source = { git = "https://github.com/tenzir/tree-sitter-tql", rev = "477e8ba230867b9135deb7af88ea96f160900173" }
5499
5500[[language]]
5501name = "concerto"
5502scope = "source.concerto"
5503injection-regex = "concerto"
5504file-types = ["cto"]
5505comment-tokens = "//"
5506block-comment-tokens = { start = "/*", end = "*/" }
5507indent = { tab-width = 2, unit = " " }
5508
5509[[grammar]]
5510name = "concerto"
5511source = { git = "https://github.com/accordproject/concerto-tree-sitter", rev = "920ba23ea93af56b19dfc38fcddf80b3ddc62685" }