1# Language support configuration.
2# See the languages documentation: https://docs.helix-editor.com/master/languages.html
7injection-regex = "rust"
9roots = ["Cargo.toml", "Cargo.lock"]
12language-server = { command = "rust-analyzer" }
13indent = { tab-width = 4, unit = " " }
25command = "lldb-vscode"
27[[language.debugger.templates]]
30completion = [ { name = "binary", completion = "filename" } ]
31args = { program = "{0}" }
33[[language.debugger.templates]]
34name = "binary (terminal)"
36completion = [ { name = "binary", completion = "filename" } ]
37args = { program = "{0}", runInTerminal = true }
39[[language.debugger.templates]]
45[[language.debugger.templates]]
46name = "gdbserver attach"
48completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
49args = { attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
53source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "a360da0a29a19c281d08295a35ecd0544d2da211" }
58injection-regex = "toml"
62language-server = { command = "taplo", args = ["lsp", "stdio"] }
63indent = { tab-width = 2, unit = " " }
67source = { git = "https://github.com/ikatyang/tree-sitter-toml", rev = "7cff70bbcbbc62001b465603ca1ea88edd668704" }
72injection-regex = "protobuf"
76indent = { tab-width = 2, unit = " " }
80source = { git = "https://github.com/yusdacra/tree-sitter-protobuf", rev = "19c211a01434d9f03efff99f85e19f967591b175"}
84scope = "source.elixir"
85injection-regex = "(elixir|ex)"
86file-types = ["ex", "exs", "mix.lock"]
90language-server = { command = "elixir-ls" }
91config = { elixirLS.dialyzerEnabled = false }
92indent = { tab-width = 2, unit = " " }
96source = { git = "https://github.com/elixir-lang/tree-sitter-elixir", rev = "1dabc1c790e07115175057863808085ea60dd08a" }
101injection-regex = "fish"
106indent = { tab-width = 4, unit = " " }
110source = { git = "https://github.com/ram02z/tree-sitter-fish", rev = "04e54ab6585dfd4fee6ddfe5849af56f101b6d4f" }
115injection-regex = "mint"
120language-server = { command = "mint", args = ["ls"] }
121indent = { tab-width = 2, unit = " " }
126injection-regex = "json"
129language-server = { command = "vscode-json-language-server", args = ["--stdio"] }
131config = { "provideFormatter" = true }
132indent = { tab-width = 2, unit = " " }
136source = { git = "https://github.com/tree-sitter/tree-sitter-json", rev = "65bceef69c3b0f24c0b19ce67d79f57c96e90fcb" }
142file-types = ["c"] # TODO: ["h"]
145language-server = { command = "clangd" }
146indent = { tab-width = 2, unit = " " }
151command = "lldb-vscode"
153[[language.debugger.templates]]
156completion = [ { name = "binary", completion = "filename" } ]
157args = { console = "internalConsole", program = "{0}" }
159[[language.debugger.templates]]
162completion = [ "pid" ]
163args = { console = "internalConsole", pid = "{0}" }
165[[language.debugger.templates]]
166name = "gdbserver attach"
168completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
169args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
173source = { git = "https://github.com/tree-sitter/tree-sitter-c", rev = "f05e279aedde06a25801c3f2b2cc8ac17fac52ae" }
178injection-regex = "cpp"
179file-types = ["cc", "hh", "cpp", "hpp", "h", "ipp", "tpp", "cxx", "hxx", "ixx", "txx", "ino"]
182language-server = { command = "clangd" }
183indent = { tab-width = 2, unit = " " }
188command = "lldb-vscode"
190[[language.debugger.templates]]
193completion = [ { name = "binary", completion = "filename" } ]
194args = { console = "internalConsole", program = "{0}" }
196[[language.debugger.templates]]
199completion = [ "pid" ]
200args = { console = "internalConsole", pid = "{0}" }
202[[language.debugger.templates]]
203name = "gdbserver attach"
205completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ]
206args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] }
210source = { git = "https://github.com/tree-sitter/tree-sitter-cpp", rev = "e8dcc9d2b404c542fd236ea5f7208f90be8a6e89" }
214scope = "source.csharp"
215injection-regex = "c-?sharp"
217roots = ["sln", "csproj"]
219indent = { tab-width = 4, unit = "\t" }
220language-server = { command = "OmniSharp", args = [ "--languageserver", "--stdio" ] }
224source = { git = "https://github.com/tree-sitter/tree-sitter-c-sharp", rev = "53a65a908167d6556e1fcdb67f1ee62aac101dda" }
229injection-regex = "go"
231roots = ["Gopkg.toml", "go.mod"]
234language-server = { command = "gopls" }
235# TODO: gopls needs utf-8 offsets?
236indent = { tab-width = 4, unit = "\t" }
243port-arg = "-l 127.0.0.1:{}"
245[[language.debugger.templates]]
248completion = [ { name = "entrypoint", completion = "filename", default = "." } ]
249args = { mode = "debug", program = "{0}" }
251[[language.debugger.templates]]
254completion = [ { name = "binary", completion = "filename" } ]
255args = { mode = "exec", program = "{0}" }
257[[language.debugger.templates]]
260completion = [ { name = "tests", completion = "directory", default = "." } ]
261args = { mode = "test", program = "{0}" }
263[[language.debugger.templates]]
266completion = [ "pid" ]
267args = { mode = "local", processId = "{0}" }
271source = { git = "https://github.com/tree-sitter/tree-sitter-go", rev = "0fa917a7022d1cd2e9b779a6a8fc5dc7fad69c75" }
275scope = "source.gomod"
276injection-regex = "gomod"
277file-types = ["go.mod"]
281language-server = { command = "gopls" }
282indent = { tab-width = 4, unit = "\t" }
286source = { git = "https://github.com/camdencheek/tree-sitter-go-mod", rev = "e8f51f8e4363a3d9a427e8f63f4c1bbc5ef5d8d0" }
290scope = "source.gowork"
291injection-regex = "gowork"
292file-types = ["go.work"]
296language-server = { command = "gopls" }
297indent = { tab-width = 4, unit = "\t" }
301source = { git = "https://github.com/omertuc/tree-sitter-go-work", rev = "6dd9dd79fb51e9f2abc829d5e97b15015b6a8ae2" }
306injection-regex = "^(js|javascript)$"
307file-types = ["js", "jsx", "mjs", "cjs"]
311# TODO: highlights-params
312language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "javascript" }
313indent = { tab-width = 2, unit = " " }
318# args consisting of cmd (node) and path to adapter should be added to user's configuration
319quirks = { absolute-paths = true }
321[[language.debugger.templates]]
324completion = [ { name = "main", completion = "filename", default = "index.js" } ]
325args = { program = "{0}" }
329source = { git = "https://github.com/tree-sitter/tree-sitter-javascript", rev = "4a95461c4761c624f2263725aca79eeaefd36cad" }
334injection-regex = "jsx"
338language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "javascript" }
339indent = { tab-width = 2, unit = " " }
340grammar = "javascript"
345injection-regex = "^(ts|typescript)$"
349# TODO: highlights-params
350language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "typescript"}
351indent = { tab-width = 2, unit = " " }
355source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "3e897ea5925f037cfae2e551f8e6b12eec2a201a", subpath = "typescript" }
360injection-regex = "^(tsx)$" # |typescript
363# TODO: highlights-params
364language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "typescriptreact" }
365indent = { tab-width = 2, unit = " " }
369source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "3e897ea5925f037cfae2e551f8e6b12eec2a201a", subpath = "tsx" }
374injection-regex = "css"
375file-types = ["css", "scss"]
377language-server = { command = "vscode-css-language-server", args = ["--stdio"] }
378indent = { tab-width = 2, unit = " " }
382source = { git = "https://github.com/tree-sitter/tree-sitter-css", rev = "94e10230939e702b4fa3fa2cb5c3bc7173b95d07" }
386scope = "text.html.basic"
387injection-regex = "html"
390language-server = { command = "vscode-html-language-server", args = ["--stdio"] }
392config = { "provideFormatter" = true }
393indent = { tab-width = 2, unit = " " }
397source = { git = "https://github.com/tree-sitter/tree-sitter-html", rev = "d93af487cc75120c89257195e6be46c999c6ba18" }
401scope = "source.python"
402injection-regex = "python"
407language-server = { command = "pylsp" }
408# TODO: pyls needs utf-8 offsets
409indent = { tab-width = 4, unit = " " }
413source = { git = "https://github.com/tree-sitter/tree-sitter-python", rev = "d6210ceab11e8d812d4ab59c07c81458ec6e5184" }
417scope = "source.nickel"
418injection-regex = "nickel"
423language-server = { command = "nls" }
424indent = { tab-width = 2, unit = " " }
428source = { git = "https://github.com/nickel-lang/tree-sitter-nickel", rev = "9a502ea2e774df3d743a48310bb40e1cc097c86e" }
433injection-regex = "nix"
438language-server = { command = "rnix-lsp" }
439indent = { tab-width = 2, unit = " " }
443source = { git = "https://github.com/cstrahan/tree-sitter-nix", rev = "6b71a810c0acd49b980c50fc79092561f7cee307" }
448injection-regex = "ruby"
449file-types = ["rb", "rake", "rakefile", "irb", "gemfile", "gemspec", "Rakefile", "Gemfile"]
453language-server = { command = "solargraph", args = ["stdio"] }
454indent = { tab-width = 2, unit = " " }
458source = { git = "https://github.com/tree-sitter/tree-sitter-ruby", rev = "dfff673b41df7fadcbb609c6338f38da3cdd018e" }
463injection-regex = "(shell|bash|zsh|sh)"
464file-types = ["sh", "bash", "zsh", ".bash_login", ".bash_logout", ".bash_profile", ".bashrc", ".profile", ".zshenv", ".zlogin", ".zlogout", ".zprofile", ".zshrc", "APKBUILD", "PKGBUILD", "eclass", "ebuild", "bazelrc"]
465shebangs = ["sh", "bash", "dash"]
468language-server = { command = "bash-language-server", args = ["start"] }
469indent = { tab-width = 2, unit = " " }
473source = { git = "https://github.com/tree-sitter/tree-sitter-bash", rev = "275effdfc0edce774acf7d481f9ea195c6c403cd" }
478injection-regex = "php"
479file-types = ["php", "inc"]
481roots = ["composer.json", "index.php"]
482language-server = { command = "intelephense", args = ["--stdio"] }
483indent = { tab-width = 4, unit = " " }
487source = { git = "https://github.com/tree-sitter/tree-sitter-php", rev = "57f855461aeeca73bd4218754fb26b5ac143f98f" }
492injection-regex = "twig"
495indent = { tab-width = 2, unit = " " }
499source = { git = "https://github.com/eirabben/tree-sitter-twig", rev = "b7444181fb38e603e25ea8fcdac55f9492e49c27" }
504injection-regex = "tex"
508language-server = { command = "texlab" }
509indent = { tab-width = 4, unit = "\t" }
513source = { git = "https://github.com/latex-lsp/tree-sitter-latex", rev = "7f720661de5316c0f8fee956526d4002fa1086d8" }
518injection-regex = "lean"
520roots = [ "lakefile.lean" ]
522language-server = { command = "lean", args = [ "--server" ] }
523indent = { tab-width = 2, unit = " " }
527source = { git = "https://github.com/Julian/tree-sitter-lean", rev = "d98426109258b266e1e92358c5f11716d2e8f638" }
531scope = "source.julia"
532injection-regex = "julia"
536language-server = { command = "julia", args = [
541 "using LanguageServer; runserver()",
543indent = { tab-width = 4, unit = " " }
547source = { git = "https://github.com/tree-sitter/tree-sitter-julia", rev = "12ea597262125fc22fd2e91aa953ac69b19c26ca" }
552injection-regex = "java"
555language-server = { command = "jdtls" }
556indent = { tab-width = 4, unit = " " }
560source = { git = "https://github.com/tree-sitter/tree-sitter-java", rev = "bd6186c24d5eb13b4623efac9d944dcc095c0dad" }
564scope = "source.ledger"
565injection-regex = "ledger"
566file-types = ["ldg", "ledger", "journal"]
569indent = { tab-width = 4, unit = " " }
573source = { git = "https://github.com/cbarrete/tree-sitter-ledger", rev = "0cdeb0e51411a3ba5493662952c3039de08939ca" }
577scope = "source.ocaml"
578injection-regex = "ocaml"
582comment-token = "(**)"
583language-server = { command = "ocamllsp" }
584indent = { tab-width = 2, unit = " " }
588source = { git = "https://github.com/tree-sitter/tree-sitter-ocaml", rev = "23d419ba45789c5a47d31448061557716b02750a", subpath = "ocaml" }
591name = "ocaml-interface"
592scope = "source.ocaml.interface"
596comment-token = "(**)"
597language-server = { command = "ocamllsp" }
598indent = { tab-width = 2, unit = " " }
601name = "ocaml-interface"
602source = { git = "https://github.com/tree-sitter/tree-sitter-ocaml", rev = "23d419ba45789c5a47d31448061557716b02750a", subpath = "interface" }
609roots = [".luarc.json", ".luacheckrc", ".stylua.toml", "selene.toml", ".git"]
611indent = { tab-width = 2, unit = " " }
612language-server = { command = "lua-language-server", args = [] }
616source = { git = "https://github.com/nvim-treesitter/tree-sitter-lua", rev = "6f5d40190ec8a0aa8c8410699353d820f4f7d7a6" }
620scope = "source.svelte"
621injection-regex = "svelte"
622file-types = ["svelte"]
624indent = { tab-width = 2, unit = " " }
625language-server = { command = "svelteserver", args = ["--stdio"] }
629source = { git = "https://github.com/Himujjal/tree-sitter-svelte", rev = "349a5984513b4a4a9e143a6e746120c6ff6cf6ed" }
634injection-regex = "vue"
636roots = ["package.json", "vue.config.js"]
637indent = { tab-width = 2, unit = " " }
638language-server = { command = "vls" }
642source = { git = "https://github.com/ikatyang/tree-sitter-vue", rev = "91fe2754796cd8fba5f229505a23fa08f3546c06" }
647file-types = ["yml", "yaml"]
650indent = { tab-width = 2, unit = " " }
651language-server = { command = "yaml-language-server", args = ["--stdio"] }
652injection-regex = "yml|yaml"
656source = { git = "https://github.com/ikatyang/tree-sitter-yaml", rev = "0e36bed171768908f331ff7dff9d956bae016efb" }
660scope = "source.haskell"
661injection-regex = "haskell"
665language-server = { command = "haskell-language-server-wrapper", args = ["--lsp"] }
666indent = { tab-width = 2, unit = " " }
670source = { git = "https://github.com/tree-sitter/tree-sitter-haskell", rev = "b6ec26f181dd059eedd506fa5fbeae1b8e5556c8" }
675injection-regex = "zig"
680language-server = { command = "zls" }
681indent = { tab-width = 4, unit = " " }
685source = { git = "https://github.com/maxxnino/tree-sitter-zig", rev = "93331b8bd8b4ebee2b575490b2758f16ad4e9f30" }
689scope = "source.prolog"
691file-types = ["pl", "prolog"]
694language-server = { command = "swipl", args = [
695 "-g", "use_module(library(lsp_server))",
696 "-g", "lsp_server:main",
697 "-t", "halt", "--", "stdio"] }
705injection-regex = "tsq"
706indent = { tab-width = 2, unit = " " }
710source = { git = "https://github.com/tree-sitter/tree-sitter-tsq", rev = "b665659d3238e6036e22ed0e24935e60efb39415" }
714scope = "source.cmake"
715file-types = ["cmake", "CMakeLists.txt"]
718indent = { tab-width = 2, unit = " " }
719language-server = { command = "cmake-language-server" }
720injection-regex = "cmake"
724source = { git = "https://github.com/uyha/tree-sitter-cmake", rev = "f6616f1e417ee8b62daf251aa1daa5d73781c596" }
729file-types = ["Makefile", "makefile", "mk", "justfile", ".justfile"]
732indent = { tab-width = 4, unit = "\t" }
736source = { git = "https://github.com/alemuller/tree-sitter-make", rev = "a4b9187417d6be349ee5fd4b6e77b4172c6827dd" }
741file-types = ["glsl", "vert", "tesc", "tese", "geom", "frag", "comp" ]
744indent = { tab-width = 4, unit = " " }
745injection-regex = "glsl"
749source = { git = "https://github.com/theHamsta/tree-sitter-glsl", rev = "88408ffc5e27abcffced7010fc77396ae3636d7e" }
754file-types = ["pl", "pm", "t"]
758indent = { tab-width = 2, unit = " " }
762source = { git = "https://github.com/ganezdragon/tree-sitter-perl", rev = "0ac2c6da562c7a2c26ed7e8691d4a590f7e8b90a" }
771language-server = { command = "racket", args = ["-l", "racket-langserver"] }
775scope = "scope.comment"
778injection-regex = "comment"
782source = { git = "https://github.com/stsewd/tree-sitter-comment", rev = "5dd3c62f1bbe378b220fe16b317b85247898639e" }
790language-server = { command = "wgsl_analyzer" }
791indent = { tab-width = 4, unit = " " }
795source = { git = "https://github.com/szebniok/tree-sitter-wgsl", rev = "f00ff52251edbd58f4d39c9c3204383253032c11" }
803indent = { tab-width = 2, unit = " " }
804injection-regex = "llvm"
808source = { git = "https://github.com/benwilliamgraham/tree-sitter-llvm", rev = "3b213925b9c4f42c1acfe2e10bfbb438d9c6834d" }
812scope = "source.llvm_mir"
816indent = { tab-width = 2, unit = " " }
817injection-regex = "mir"
821source = { git = "https://github.com/Flakebi/tree-sitter-llvm-mir", rev = "06fabca19454b2dc00c1b211a7cb7ad0bc2585f1" }
824name = "llvm-mir-yaml"
825# TODO allow languages to point to their grammar like so:
832indent = { tab-width = 2, unit = " " }
836scope = "source.tablegen"
840indent = { tab-width = 2, unit = " " }
841injection-regex = "tablegen"
845source = { git = "https://github.com/Flakebi/tree-sitter-tablegen", rev = "568dd8a937347175fd58db83d4c4cdaeb6069bd2" }
850injection-regex = "md|markdown"
853indent = { tab-width = 2, unit = " " }
857source = { git = "https://github.com/MDeiml/tree-sitter-markdown", rev = "ad8c32917a16dfbb387d1da567bf0c3fb6fffde2" }
863roots = ["pubspec.yaml"]
866language-server = { command = "dart", args = ["language-server", "--client-id=helix"] }
867indent = { tab-width = 2, unit = " " }
871source = { git = "https://github.com/UserNobody14/tree-sitter-dart", rev = "6a25376685d1d47968c2cef06d4db8d84a70025e" }
875scope = "source.scala"
876roots = ["build.sbt", "pom.xml"]
877file-types = ["scala", "sbt"]
879indent = { tab-width = 2, unit = " " }
880language-server = { command = "metals" }
884source = { git = "https://github.com/tree-sitter/tree-sitter-scala", rev = "0a3dd53a7fc4b352a538397d054380aaa28be54c" }
888scope = "source.dockerfile"
889injection-regex = "docker|dockerfile"
890roots = ["Dockerfile"]
891file-types = ["Dockerfile", "dockerfile"]
893indent = { tab-width = 2, unit = " " }
894language-server = { command = "docker-langserver", args = ["--stdio"] }
898source = { git = "https://github.com/camdencheek/tree-sitter-dockerfile", rev = "7af32bc04a66ab196f5b9f92ac471f29372ae2ce" }
902scope = "git.commitmsg"
904file-types = ["COMMIT_EDITMSG"]
906indent = { tab-width = 2, unit = " " }
910source = { git = "https://github.com/the-mikedavis/tree-sitter-git-commit", rev = "7ae23de633de41f8f5b802f6f05b6596df6d00c1" }
917injection-regex = "diff"
919indent = { tab-width = 2, unit = " " }
923source = { git = "https://github.com/the-mikedavis/tree-sitter-git-diff", rev = "c12e6ecb54485f764250556ffd7ccb18f8e2942b" }
927scope = "source.gitrebase"
929file-types = ["git-rebase-todo"]
930injection-regex = "git-rebase"
932indent = { tab-width = 2, unit = " " }
936source = { git = "https://github.com/the-mikedavis/tree-sitter-git-rebase", rev = "332dc528f27044bc4427024dbb33e6941fc131f2" }
940scope = "source.regex"
941injection-regex = "regex"
942file-types = ["regex"]
947source = { git = "https://github.com/tree-sitter/tree-sitter-regex", rev = "e1cfca3c79896ff79842f057ea13e529b66af636" }
951scope = "source.gitconfig"
953# TODO: allow specifying file-types as a regex so we can read directory names (e.g. `.git/config`)
954file-types = [".gitmodules", ".gitconfig"]
955injection-regex = "git-config"
957indent = { tab-width = 4, unit = "\t" }
961source = { git = "https://github.com/the-mikedavis/tree-sitter-git-config", rev = "0e4f0baf90b57e5aeb62dcdbf03062c6315d43ea" }
964name = "git-attributes"
965scope = "source.gitattributes"
967file-types = [".gitattributes"]
968injection-regex = "git-attributes"
970grammar = "gitattributes"
973name = "gitattributes"
974source = { git = "https://github.com/mtoohey31/tree-sitter-gitattributes", rev = "3dd50808e3096f93dccd5e9dc7dc3dba2eb12dc4" }
978scope = "source.gitignore"
980file-types = [".gitignore", ".gitignore_global"]
981injection-regex = "git-ignore"
987source = { git = "https://github.com/shunsambongi/tree-sitter-gitignore", rev = "f4685bf11ac466dd278449bcfe5fd014e94aa504" }
991scope = "source.graphql"
992injection-regex = "graphql"
993file-types = ["gql", "graphql"]
995indent = { tab-width = 2, unit = " " }
999source = { git = "https://github.com/bkegley/tree-sitter-graphql", rev = "5e66e961eee421786bdda8495ed1db045e06b5fe" }
1004injection-regex = "elm"
1009language-server = { command = "elm-language-server" }
1010indent = { tab-width = 4, unit = " " }
1014source = { git = "https://github.com/elm-tooling/tree-sitter-elm", rev = "bd50ccf66b42c55252ac8efc1086af4ac6bab8cd" }
1019injection-regex = "iex"
1025source = { git = "https://github.com/elixir-lang/tree-sitter-iex", rev = "39f20bb51f502e32058684e893c0c0b00bb2332c" }
1029scope = "source.rescript"
1030injection-regex = "rescript"
1032roots = ["bsconfig.json"]
1035language-server = { command = "rescript-language-server", args = ["--stdio"] }
1036indent = { tab-width = 2, unit = " " }
1040source = { git = "https://github.com/jaredramirez/tree-sitter-rescript", rev = "4cd7ba91696886fdaca086fb32b5fd8cc294a129" }
1044scope = "source.erlang"
1045injection-regex = "erl(ang)?"
1046file-types = ["erl", "hrl", "app", "rebar.config", "rebar.lock"]
1047roots = ["rebar.config"]
1049indent = { tab-width = 4, unit = " " }
1050language-server = { command = "erlang_ls" }
1054source = { git = "https://github.com/the-mikedavis/tree-sitter-erlang", rev = "c0ebc82600caaf4339f2b00691f958e9df97c065" }
1058scope = "source.kotlin"
1059file-types = ["kt", "kts"]
1060roots = ["settings.gradle", "settings.gradle.kts"]
1062indent = { tab-width = 4, unit = " " }
1063language-server = { command = "kotlin-language-server" }
1067source = { git = "https://github.com/fwcd/tree-sitter-kotlin", rev = "a4f71eb9b8c9b19ded3e0e9470be4b1b77c2b569" }
1072injection-regex = "(hcl|tf|nomad)"
1073file-types = ["hcl", "tf", "nomad"]
1076indent = { tab-width = 2, unit = " " }
1077language-server = { command = "terraform-ls", args = ["serve"], language-id = "terraform" }
1082source = { git = "https://github.com/MichaHoffmann/tree-sitter-hcl", rev = "3cb7fc28247efbcb2973b97e71c78838ad98a583" }
1086scope = "source.tfvars"
1087file-types = ["tfvars"]
1090indent = { tab-width = 2, unit = " " }
1091language-server = { command = "terraform-ls", args = ["serve"], language-id = "terraform-vars" }
1098injection-regex = "org"
1101indent = { tab-width = 2, unit = " " }
1105source = { git = "https://github.com/milisims/tree-sitter-org", rev = "1c3eb533a9cf6800067357b59e03ac3f91fc3a54" }
1110injection-regex = "^(sol|solidity)$"
1114indent = { tab-width = 4, unit = " " }
1115language-server = { command = "solc", args = ["--lsp"] }
1119source = { git = "https://github.com/slinlee/tree-sitter-solidity", rev = "f3a002274744e859bf64cf3524985f8c31ea84fd" }
1123scope = "source.gleam"
1124injection-regex = "gleam"
1125file-types = ["gleam"]
1126roots = ["gleam.toml"]
1128indent = { tab-width = 2, unit = " " }
1132source = { git = "https://github.com/gleam-lang/tree-sitter-gleam", rev = "d7861b2a4b4d594c58bb4f1be5f1f4ee4c67e5c3" }
1137injection-regex = "ron"
1141indent = { tab-width = 4, unit = " " }
1147injection-regex = "(r|R)"
1148file-types = ["r", "R"]
1149shebangs = ["r", "R"]
1152indent = { tab-width = 2, unit = " " }
1153language-server = { command = "R", args = ["--slave", "-e", "languageserver::run()"] }
1157source = { git = "https://github.com/r-lib/tree-sitter-r", rev = "cc04302e1bff76fa02e129f332f44636813b0c3c" }
1162injection-regex = "(r|R)md"
1163file-types = ["rmd", "Rmd"]
1165indent = { tab-width = 2, unit = " " }
1167language-server = { command = "R", args = ["--slave", "-e", "languageserver::run()"] }
1171scope = "source.swift"
1172injection-regex = "swift"
1173file-types = ["swift"]
1174roots = [ "Package.swift" ]
1177language-server = { command = "sourcekit-lsp" }
1181source = { git = "https://github.com/Dispersia/tree-sitter-swift", rev = "e75240f89bb3bfd3396155859ae364e5c58d7377" }
1185scope = "text.html.erb"
1186injection-regex = "erb"
1189indent = { tab-width = 2, unit = " " }
1190grammar = "embedded-template"
1194scope = "text.html.ejs"
1195injection-regex = "ejs"
1198indent = { tab-width = 2, unit = " " }
1199grammar = "embedded-template"
1202name = "embedded-template"
1203source = { git = "https://github.com/tree-sitter/tree-sitter-embedded-template", rev = "d21df11b0ecc6fd211dbe11278e92ef67bd17e97" }
1208injection-regex = "eex"
1211indent = { tab-width = 2, unit = " " }
1215source = { git = "https://github.com/connorlay/tree-sitter-eex", rev = "f742f2fe327463335e8671a87c0b9b396905d1d1" }
1219scope = "source.heex"
1220injection-regex = "heex"
1221file-types = ["heex"]
1223indent = { tab-width = 2, unit = " " }
1227source = { git = "https://github.com/phoenixframework/tree-sitter-heex", rev = "961bc4d2937cfd24ceb0a5a6b2da607809f8822e" }
1235indent = { tab-width = 4, unit = " " }
1236injection-regex = "sql"
1240source = { git = "https://github.com/DerekStride/tree-sitter-sql", rev = "0caa7fa2ee00e0b770493a79d4efacc1fc376cc5" }
1244scope = "source.gdscript"
1245injection-regex = "gdscript"
1248roots = ["project.godot"]
1251indent = { tab-width = 4, unit = " " }
1255source = { git = "https://github.com/PrestonKnopp/tree-sitter-gdscript", rev = "2a6abdaa47fcb91397e09a97c7433fd995ea46c6" }
1260injection-regex = "nu"
1264indent = { tab-width = 2, unit = " " }
1268source = { git = "https://github.com/LhKipp/tree-sitter-nu", rev = "db4e990b78824c8abef3618e0f93b7fe1e8f4c0d" }
1272scope = "source.vala"
1273injection-regex = "vala"
1274file-types = ["vala", "vapi"]
1277indent = { tab-width = 2, unit = " " }
1278language-server = { command = "vala-language-server" }
1282source = { git = "https://github.com/vala-lang/tree-sitter-vala", rev = "c9eea93ba2ec4ec1485392db11945819779745b3" }
1286scope = "source.hare"
1287injection-regex = "hare"
1291indent = { tab-width = 8, unit = "\t" }
1295source = { git = "https://git.sr.ht/~ecmma/tree-sitter-hare", rev = "bc26a6a949f2e0d98b7bfc437d459b250900a165" }
1299scope = "source.devicetree"
1300injection-regex = "(dtsi?|devicetree|fdt)"
1301file-types = ["dts", "dtsi"]
1304indent = { tab-width = 4, unit = "\t" }
1308source = { git = "https://github.com/joelspadin/tree-sitter-devicetree", rev = "877adbfa0174d25894c40fa75ad52d4515a36368" }
1312scope = "source.cairo"
1313injection-regex = "cairo"
1314file-types = ["cairo"]
1317indent = { tab-width = 4, unit = " " }
1321source = { git = "https://github.com/archseer/tree-sitter-cairo", rev = "5155c6eb40db6d437f4fa41b8bcd8890a1c91716" }
1326injection-regex = "^cpon$"
1327file-types = ["cpon", "cp"]
1331indent = { tab-width = 2, unit = " " }
1335source = { git = "https://github.com/fvacek/tree-sitter-cpon", rev = "0d01fcdae5a53191df5b1349f9bce053833270e7" }
1340scope = "source.odin"
1341file-types = ["odin"]
1344indent = { tab-width = 4, unit = "\t" }
1348source = { git = "https://github.com/MineBill/tree-sitter-odin", rev = "da885f4a387f169b9b69fe0968259ee257a8f69a" }
1352scope = "source.meson"
1353injection-regex = "meson"
1354file-types = ["meson.build"]
1357indent = { tab-width = 2, unit = " " }
1361source = { git = "https://github.com/bearcove/tree-sitter-meson", rev = "feea83be9225842490066522ced2d13eb9cce0bd" }
1364name = "sshclientconfig"
1365scope = "source.sshclientconfig"
1366file-types = [".ssh/config", "/etc/ssh/ssh_config"]
1370name = "sshclientconfig"
1371source = { git = "https://github.com/metio/tree-sitter-ssh-client-config", rev = "769d7a01a2e5493b4bb5a51096c6bf4be130b024" }
1375scope = "source.scheme"
1376injection-regex = "scheme"
1377file-types = ["ss", "rkt"] # "scm",
1380indent = { tab-width = 2, unit = " " }
1384source = { git = "https://github.com/6cdh/tree-sitter-scheme", rev = "27fb77db05f890c2823b4bd751c6420378df146b" }
1389file-types = ["v", "vv"]
1392language-server = { command = "vls", args = [] }
1395indent = { tab-width = 4, unit = "\t" }
1399source = { git = "https://github.com/vlang/vls", subpath = "tree_sitter_v", rev = "3e8124ea4ab80aa08ec77f03df53f577902a0cdd" }
1403scope = "source.verilog"
1404file-types = ["v", "sv", "svh"]
1407language-server = { command = "svlangserver", args = [] }
1408indent = { tab-width = 2, unit = " " }
1409injection-regex = "verilog"
1413source = { git = "https://github.com/andreytkachenko/tree-sitter-verilog", rev = "514d8d70593d29ef3ef667fa6b0e504ae7c977e3" }
1417scope = "source.edoc"
1418file-types = ["edoc", "edoc.in"]
1419injection-regex = "edoc"
1421indent = { tab-width = 4, unit = " " }
1425source = { git = "https://github.com/the-mikedavis/tree-sitter-edoc", rev = "1691ec0aa7ad1ed9fa295590545f27e570d12d60" }
1429scope = "source.jsdoc"
1430injection-regex = "jsdoc"
1431file-types = ["jsdoc"]
1433indent = { tab-width = 2, unit = " " }
1437source = { git = "https://github.com/tree-sitter/tree-sitter-jsdoc", rev = "189a6a4829beb9cdbe837260653b4a3dfb0cc3db" }
1442scope = "source.openscad"
1443injection-regex = "openscad"
1444file-types = ["scad"]
1447language-server = { command = "openscad-language-server" }
1448indent = { tab-width = 2, unit = "\t" }
1452source = { git = "https://github.com/bollian/tree-sitter-openscad", rev = "5c3ce93df0ac1da7197cf6ae125aade26d6b8972" }
1456scope = "source.prisma"
1457injection-regex = "prisma"
1458file-types = ["prisma"]
1459roots = ["package.json"]
1461language-server = { command = "prisma-language-server", args = ["--stdio"] }
1462indent = { tab-width = 2, unit = " " }
1466source = { git = "https://github.com/victorhqc/tree-sitter-prisma", rev = "17a59236ac25413b81b1613ea6ba5d8d52d7cd6c" }
1470scope = "source.clojure"
1471injection-regex = "(clojure|clj)"
1473roots = ["project.clj"]
1475language-server = { command = "clojure-lsp" }
1476indent = { tab-width = 2, unit = " " }
1480source = { git = "https://github.com/sogaiu/tree-sitter-clojure", rev = "e57c569ae332ca365da623712ae1f50f84daeae2" }
1484scope = "source.starlark"
1485injection-regex = "(starlark|bzl|bazel)"
1486file-types = ["bzl", "bazel", "BUILD"]
1489indent = { tab-width = 4, unit = " " }
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list