feat: add parser tiers

Tier 1: Stable
Tier 2: Core (maintained by org members)
Tier 3: Community (maintained by external contributors, to varying
degree)
Tier 4: Unsupported (lacking active maintainer or declared
experimental); skipped in lockfile update and ignored for automatic
install by default
This commit is contained in:
Christian Clason 2023-06-10 17:12:35 +02:00
parent c9ee49f61d
commit 0ce8619a25
8 changed files with 390 additions and 242 deletions

View file

@ -53,11 +53,11 @@ require('lazy').setup(
```lua ```lua
require'nvim-treesitter'.setup { require'nvim-treesitter'.setup {
-- A list of parser names or tiers ('core', 'stable', 'community', 'unstable') -- A list of parser names or tiers ('stable', 'core', 'community', 'unsupported')
ensure_install = { }, ensure_install = { },
-- List of parsers to ignore installing -- List of parsers to ignore installing
ignore_install = { }, ignore_install = { 'unsupported' },
-- Automatically install missing parsers when entering buffer -- Automatically install missing parsers when entering buffer
auto_install = false, auto_install = false,

View file

@ -3,7 +3,7 @@
The following is a list of languages for which a parser can be installed through `:TSInstall`. The following is a list of languages for which a parser can be installed through `:TSInstall`.
Legend: Legend:
- **Tier:** _core_, _stable_, _community_, or _unstable_ - **Tier:** _stable_, _core_, _community_, or _unsupported_
- **CLI:** `:TSInstall` requires `tree-sitter` CLI installed - **CLI:** `:TSInstall` requires `tree-sitter` CLI installed
- **NPM:** `:TSInstallFromGrammar` requires `node` installed - **NPM:** `:TSInstallFromGrammar` requires `node` installed
- **Queries** available for **H**ighlights, **I**ndents, **F**olds, In**J**ections, **L**ocals - **Queries** available for **H**ighlights, **I**ndents, **F**olds, In**J**ections, **L**ocals
@ -12,228 +12,227 @@ Legend:
<!--parserinfo--> <!--parserinfo-->
Language | Tier | Queries | CLI | NPM | Maintainer Language | Tier | Queries | CLI | NPM | Maintainer
-------- |:----:|:-------:|:---:|:---:| ---------- -------- |:----:|:-------:|:---:|:---:| ----------
[ada](https://github.com/briot/tree-sitter-ada) | | `HF  L` | | | @briot [ada](https://github.com/briot/tree-sitter-ada) | community | `HF  L` | | | @briot
[agda](https://github.com/AusCyberman/tree-sitter-agda) | | `HF   ` | | | @Decodetalkers [agda](https://github.com/AusCyberman/tree-sitter-agda) | community | `HF   ` | | | @Decodetalkers
[arduino](https://github.com/ObserverOfTime/tree-sitter-arduino) | | `HFIJL` | | | @ObserverOfTime [arduino](https://github.com/ObserverOfTime/tree-sitter-arduino) | core | `HFIJL` | | | @ObserverOfTime
[astro](https://github.com/virchau13/tree-sitter-astro) | | `HFIJL` | | | @virchau13 [astro](https://github.com/virchau13/tree-sitter-astro) | community | `HFIJL` | | | @virchau13
[awk](https://github.com/Beaglefoot/tree-sitter-awk) | | `H  J ` | | | [awk](https://github.com/Beaglefoot/tree-sitter-awk) | unsupported | `H  J ` | | |
[bash](https://github.com/tree-sitter/tree-sitter-bash) | | `HF JL` | | | @TravonteD [bash](https://github.com/tree-sitter/tree-sitter-bash) | community | `HF JL` | | | @TravonteD
[bass](https://github.com/amaanq/tree-sitter-bass) | | `HFIJL` | | | @amaanq [bass](https://github.com/amaanq/tree-sitter-bass) | core | `HFIJL` | | | @amaanq
[beancount](https://github.com/polarmutex/tree-sitter-beancount) | | `HF   ` | | | @polarmutex [beancount](https://github.com/polarmutex/tree-sitter-beancount) | community | `HF   ` | | | @polarmutex
[bibtex](https://github.com/latex-lsp/tree-sitter-bibtex) | community | `HFI  ` | | | @theHamsta, @clason [bibtex](https://github.com/latex-lsp/tree-sitter-bibtex) | core | `HFI  ` | | | @theHamsta, @clason
[bicep](https://github.com/amaanq/tree-sitter-bicep) | | `HFIJL` | | | @amaanq [bicep](https://github.com/amaanq/tree-sitter-bicep) | core | `HFIJL` | | | @amaanq
[bitbake](https://github.com/amaanq/tree-sitter-bitbake) | stable | `HFIJL` | | | @amaanq [bitbake](https://github.com/amaanq/tree-sitter-bitbake) | core | `HFIJL` | | | @amaanq
[blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint.git) | unstable | `H    ` | | | @gabmus [blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint.git) | unsupported | `H    ` | | | @gabmus
[c](https://github.com/tree-sitter/tree-sitter-c) | core | `HFIJL` | | | @amaanq [c](https://github.com/tree-sitter/tree-sitter-c) | stable | `HFIJL` | | | @amaanq
[c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) | | `HF JL` | | | @Luxed [c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) | community | `HF JL` | | | @Luxed
[cairo](https://github.com/amaanq/tree-sitter-cairo) | stable | `HFIJL` | | | @amaanq [cairo](https://github.com/amaanq/tree-sitter-cairo) | core | `HFIJL` | | | @amaanq
[capnp](https://github.com/amaanq/tree-sitter-capnp) | | `HFIJL` | | | @amaanq [capnp](https://github.com/amaanq/tree-sitter-capnp) | core | `HFIJL` | | | @amaanq
[chatito](https://github.com/ObserverOfTime/tree-sitter-chatito) | | `HFIJL` | | | @ObserverOfTime [chatito](https://github.com/ObserverOfTime/tree-sitter-chatito) | core | `HFIJL` | | | @ObserverOfTime
[clojure](https://github.com/sogaiu/tree-sitter-clojure) | | `HF JL` | | | @sogaiu [clojure](https://github.com/sogaiu/tree-sitter-clojure) | community | `HF JL` | | | @sogaiu
[cmake](https://github.com/uyha/tree-sitter-cmake) | | `HFI  ` | | | @uyha [cmake](https://github.com/uyha/tree-sitter-cmake) | unsupported | `HFI  ` | | | @uyha
[comment](https://github.com/stsewd/tree-sitter-comment) | stable | `H    ` | | | @stsewd [comment](https://github.com/stsewd/tree-sitter-comment) | core | `H    ` | | | @stsewd
[commonlisp](https://github.com/theHamsta/tree-sitter-commonlisp) | | `HF  L` | | ✓ | @theHamsta [commonlisp](https://github.com/theHamsta/tree-sitter-commonlisp) | core | `HF  L` | | ✓ | @theHamsta
[cooklang](https://github.com/addcninblue/tree-sitter-cooklang) | | `H    ` | | | @addcninblue [cooklang](https://github.com/addcninblue/tree-sitter-cooklang) | community | `H    ` | | | @addcninblue
[corn](https://github.com/jakestanger/tree-sitter-corn) | community | `HFI L` | | | @jakestanger [corn](https://github.com/jakestanger/tree-sitter-corn) | community | `HFI L` | | | @jakestanger
[cpon](https://github.com/amaanq/tree-sitter-cpon) | | `HFIJL` | | | @amaanq [cpon](https://github.com/amaanq/tree-sitter-cpon) | core | `HFIJL` | | | @amaanq
[cpp](https://github.com/tree-sitter/tree-sitter-cpp) | | `HFIJL` | | ✓ | @theHamsta [cpp](https://github.com/tree-sitter/tree-sitter-cpp) | stable | `HFIJL` | | ✓ | @theHamsta
[css](https://github.com/tree-sitter/tree-sitter-css) | | `HFIJ ` | | | @TravonteD [css](https://github.com/tree-sitter/tree-sitter-css) | community | `HFIJ ` | | | @TravonteD
[csv](https://github.com/amaanq/tree-sitter-csv) | stable | `H    ` | | | @amaanq [csv](https://github.com/amaanq/tree-sitter-csv) | core | `H    ` | | | @amaanq
[cuda](https://github.com/theHamsta/tree-sitter-cuda) | | `HFIJL` | | ✓ | @theHamsta [cuda](https://github.com/theHamsta/tree-sitter-cuda) | core | `HFIJL` | | ✓ | @theHamsta
[cue](https://github.com/eonpatapon/tree-sitter-cue) | | `HFIJL` | | | @amaanq [cue](https://github.com/eonpatapon/tree-sitter-cue) | core | `HFIJL` | | | @amaanq
[d](https://github.com/CyberShadow/tree-sitter-d) | unstable | `HFIJ ` | ✓ | | @nawordar [d](https://github.com/CyberShadow/tree-sitter-d) | unsupported | `HFIJ ` | ✓ | | @nawordar
[dart](https://github.com/UserNobody14/tree-sitter-dart) | | `HFIJL` | | | @akinsho [dart](https://github.com/UserNobody14/tree-sitter-dart) | unsupported | `HFIJL` | | | @akinsho
[devicetree](https://github.com/joelspadin/tree-sitter-devicetree) | | `HFIJL` | | | @jedrzejboczar [devicetree](https://github.com/joelspadin/tree-sitter-devicetree) | community | `HFIJL` | | | @jedrzejboczar
[dhall](https://github.com/jbellerb/tree-sitter-dhall) | | `HF J ` | | | @amaanq [dhall](https://github.com/jbellerb/tree-sitter-dhall) | core | `HF J ` | | | @amaanq
[diff](https://github.com/the-mikedavis/tree-sitter-diff) | | `H    ` | | | @gbprod [diff](https://github.com/the-mikedavis/tree-sitter-diff) | community | `H    ` | | | @gbprod
[dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile) | | `H  J ` | | | @camdencheek [dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile) | community | `H  J ` | | | @camdencheek
[dot](https://github.com/rydesun/tree-sitter-dot) | | `H  J ` | | | @rydesun [dot](https://github.com/rydesun/tree-sitter-dot) | community | `H  J ` | | | @rydesun
[doxygen](https://github.com/amaanq/tree-sitter-doxygen) | stable | `H IJ ` | | | @amaanq [doxygen](https://github.com/amaanq/tree-sitter-doxygen) | core | `H IJ ` | | | @amaanq
[dtd](https://github.com/ObserverOfTime/tree-sitter-xml) | stable | `HF J ` | | | @ObserverOfTime [dtd](https://github.com/ObserverOfTime/tree-sitter-xml) | core | `HF J ` | | | @ObserverOfTime
[ebnf](https://github.com/RubixDev/ebnf) | unstable | `H    ` | | | @RubixDev [ebnf](https://github.com/RubixDev/ebnf) | unsupported | `H    ` | | | @RubixDev
ecma (queries only)[^ecma] | | `HFIJL` | | | @steelsojka ecma (queries only)[^ecma] | core | `HFIJL` | | | @steelsojka
[eex](https://github.com/connorlay/tree-sitter-eex) | | `H  J ` | | | @connorlay [eex](https://github.com/connorlay/tree-sitter-eex) | community | `H  J ` | | | @connorlay
[elixir](https://github.com/elixir-lang/tree-sitter-elixir) | | `HFIJL` | | | @connorlay [elixir](https://github.com/elixir-lang/tree-sitter-elixir) | community | `HFIJL` | | | @connorlay
[elm](https://github.com/elm-tooling/tree-sitter-elm) | | `H  J ` | | | @zweimach [elm](https://github.com/elm-tooling/tree-sitter-elm) | unsupported | `H  J ` | | | @zweimach
[elsa](https://github.com/glapa-grossklag/tree-sitter-elsa) | | `HFIJL` | | | @glapa-grossklag, @amaanq [elsa](https://github.com/glapa-grossklag/tree-sitter-elsa) | core | `HFIJL` | | | @glapa-grossklag, @amaanq
[elvish](https://github.com/elves/tree-sitter-elvish) | | `H  J ` | | | @elves [elvish](https://github.com/elves/tree-sitter-elvish) | community | `H  J ` | | | @elves
[embedded_template](https://github.com/tree-sitter/tree-sitter-embedded-template) | unstable | `H  J ` | | | [embedded_template](https://github.com/tree-sitter/tree-sitter-embedded-template) | unsupported | `H  J ` | | |
[erlang](https://github.com/WhatsApp/tree-sitter-erlang) | | `HF   ` | | | @filmor [erlang](https://github.com/WhatsApp/tree-sitter-erlang) | community | `HF   ` | | | @filmor
[fennel](https://github.com/travonted/tree-sitter-fennel) | | `HF JL` | | | @TravonteD [fennel](https://github.com/travonted/tree-sitter-fennel) | community | `HF JL` | | | @TravonteD
[firrtl](https://github.com/amaanq/tree-sitter-firrtl) | | `HFIJL` | | | @amaanq [firrtl](https://github.com/amaanq/tree-sitter-firrtl) | core | `HFIJL` | | | @amaanq
[fish](https://github.com/ram02z/tree-sitter-fish) | | `HFIJL` | | | @ram02z [fish](https://github.com/ram02z/tree-sitter-fish) | community | `HFIJL` | | | @ram02z
[foam](https://github.com/FoamScience/tree-sitter-foam) | unstable | `HFIJL` | | | @FoamScience [foam](https://github.com/FoamScience/tree-sitter-foam) | community | `HFIJL` | | | @FoamScience
[forth](https://github.com/AlexanderBrevig/tree-sitter-forth) | stable | `HFIJL` | | | @amaanq [forth](https://github.com/AlexanderBrevig/tree-sitter-forth) | core | `HFIJL` | | | @amaanq
[fortran](https://github.com/stadelmanma/tree-sitter-fortran) | | `HFI  ` | | | @amaanq [fortran](https://github.com/stadelmanma/tree-sitter-fortran) | core | `HFI  ` | | | @amaanq
[fsh](https://github.com/mgramigna/tree-sitter-fsh) | | `H    ` | | | @mgramigna [fsh](https://github.com/mgramigna/tree-sitter-fsh) | community | `H    ` | | | @mgramigna
[func](https://github.com/amaanq/tree-sitter-func) | | `H    ` | | | @amaanq [func](https://github.com/amaanq/tree-sitter-func) | core | `H    ` | | | @amaanq
[fusion](https://gitlab.com/jirgn/tree-sitter-fusion.git) | | `HFI L` | | | @jirgn [fusion](https://gitlab.com/jirgn/tree-sitter-fusion.git) | community | `HFI L` | | | @jirgn
[gdscript](https://github.com/PrestonKnopp/tree-sitter-gdscript)[^gdscript] | | `HFIJL` | | | @PrestonKnopp [gdscript](https://github.com/PrestonKnopp/tree-sitter-gdscript)[^gdscript] | community | `HFIJL` | | | @PrestonKnopp
[git_config](https://github.com/the-mikedavis/tree-sitter-git-config)[^git_config] | | `HF   ` | | | @amaanq [git_config](https://github.com/the-mikedavis/tree-sitter-git-config) | core | `HF   ` | | | @amaanq
[git_rebase](https://github.com/the-mikedavis/tree-sitter-git-rebase) | | `H  J ` | | | @gbprod [git_rebase](https://github.com/the-mikedavis/tree-sitter-git-rebase) | community | `H  J ` | | | @gbprod
[gitattributes](https://github.com/ObserverOfTime/tree-sitter-gitattributes) | | `H  J ` | | | @ObserverOfTime [gitattributes](https://github.com/ObserverOfTime/tree-sitter-gitattributes) | core | `H  J ` | | | @ObserverOfTime
[gitcommit](https://github.com/gbprod/tree-sitter-gitcommit) | | `H  J ` | | | @gbprod [gitcommit](https://github.com/gbprod/tree-sitter-gitcommit) | community | `H  J ` | | | @gbprod
[gitignore](https://github.com/shunsambongi/tree-sitter-gitignore) | | `H    ` | | | @theHamsta [gitignore](https://github.com/shunsambongi/tree-sitter-gitignore) | core | `H    ` | | | @theHamsta
[gleam](https://github.com/gleam-lang/tree-sitter-gleam) | | `HFIJL` | | | @amaanq [gleam](https://github.com/gleam-lang/tree-sitter-gleam) | core | `HFIJL` | | | @amaanq
[glimmer](https://github.com/alexlafroscia/tree-sitter-glimmer)[^glimmer] | | `HFI L` | | | @NullVoxPopuli [glimmer](https://github.com/alexlafroscia/tree-sitter-glimmer)[^glimmer] | community | `HFI L` | | | @NullVoxPopuli
[glsl](https://github.com/theHamsta/tree-sitter-glsl) | | `HFIJL` | | ✓ | @theHamsta [glsl](https://github.com/theHamsta/tree-sitter-glsl) | core | `HFIJL` | | ✓ | @theHamsta
[go](https://github.com/tree-sitter/tree-sitter-go) | | `HFIJL` | | | @theHamsta, @WinWisely268 [go](https://github.com/tree-sitter/tree-sitter-go) | stable | `HFIJL` | | | @theHamsta, @WinWisely268
[godot_resource](https://github.com/PrestonKnopp/tree-sitter-godot-resource)[^godot_resource] | | `HF  L` | | | @pierpo [godot_resource](https://github.com/PrestonKnopp/tree-sitter-godot-resource)[^godot_resource] | community | `HF  L` | | | @pierpo
[gomod](https://github.com/camdencheek/tree-sitter-go-mod) | | `H  J ` | | | @camdencheek [gomod](https://github.com/camdencheek/tree-sitter-go-mod) | community | `H  J ` | | | @camdencheek
[gosum](https://github.com/amaanq/tree-sitter-go-sum) | | `H    ` | | | @amaanq [gosum](https://github.com/amaanq/tree-sitter-go-sum) | core | `H    ` | | | @amaanq
[gowork](https://github.com/omertuc/tree-sitter-go-work) | | `H  J ` | | | @omertuc [gowork](https://github.com/omertuc/tree-sitter-go-work) | community | `H  J ` | | | @omertuc
[gpg](https://github.com/ObserverOfTime/tree-sitter-gpg-config) | stable | `H  J ` | | | @ObserverOfTime [gpg](https://github.com/ObserverOfTime/tree-sitter-gpg-config) | core | `H  J ` | | | @ObserverOfTime
[graphql](https://github.com/bkegley/tree-sitter-graphql) | | `H IJ ` | | | @bkegley [graphql](https://github.com/bkegley/tree-sitter-graphql) | community | `H IJ ` | | | @bkegley
[groovy](https://github.com/Decodetalkers/tree-sitter-groovy) | community | `H  J ` | | | @Decodetalkers [groovy](https://github.com/Decodetalkers/tree-sitter-groovy) | community | `H  J ` | | | @Decodetalkers
[hack](https://github.com/slackhq/tree-sitter-hack) | unstable | `H    ` | | | [hack](https://github.com/slackhq/tree-sitter-hack) | unsupported | `H    ` | | |
[hare](https://github.com/amaanq/tree-sitter-hare) | | `HFIJL` | | | @amaanq [hare](https://github.com/amaanq/tree-sitter-hare) | core | `HFIJL` | | | @amaanq
[haskell](https://github.com/tree-sitter/tree-sitter-haskell) | unstable | `HF J ` | | | [haskell](https://github.com/tree-sitter/tree-sitter-haskell) | unsupported | `HF J ` | | |
[haskell_persistent](https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent) | | `HF   ` | | | @lykahb [haskell_persistent](https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent) | community | `HF   ` | | | @lykahb
[hcl](https://github.com/MichaHoffmann/tree-sitter-hcl) | | `HFIJ ` | | | @MichaHoffmann [hcl](https://github.com/MichaHoffmann/tree-sitter-hcl) | community | `HFIJ ` | | | @MichaHoffmann
[heex](https://github.com/connorlay/tree-sitter-heex) | | `HFIJL` | | | @connorlay [heex](https://github.com/connorlay/tree-sitter-heex) | community | `HFIJL` | | | @connorlay
[hjson](https://github.com/winston0410/tree-sitter-hjson) | | `HFIJL` | | ✓ | @winston0410 [hjson](https://github.com/winston0410/tree-sitter-hjson) | community | `HFIJL` | | ✓ | @winston0410
[hlsl](https://github.com/theHamsta/tree-sitter-hlsl) | | `HFIJL` | | ✓ | @theHamsta [hlsl](https://github.com/theHamsta/tree-sitter-hlsl) | core | `HFIJL` | | ✓ | @theHamsta
[hocon](https://github.com/antosha417/tree-sitter-hocon) | | `H  J ` | | ✓ | @antosha417 [hocon](https://github.com/antosha417/tree-sitter-hocon) | unsupported | `H  J ` | | ✓ | @antosha417
[hoon](https://github.com/urbit-pilled/tree-sitter-hoon) | unstable | `HF  L` | | | @urbit-pilled [hoon](https://github.com/urbit-pilled/tree-sitter-hoon) | unsupported | `HF  L` | | | @urbit-pilled
[html](https://github.com/tree-sitter/tree-sitter-html) | | `HFIJL` | | | @TravonteD [html](https://github.com/tree-sitter/tree-sitter-html) | community | `HFIJL` | | | @TravonteD
html_tags (queries only)[^html_tags] | | `H IJ ` | | | @TravonteD html_tags (queries only)[^html_tags] | community | `H IJ ` | | | @TravonteD
[htmldjango](https://github.com/interdependence/tree-sitter-htmldjango) | unstable | `HFIJ ` | | | @ObserverOfTime [htmldjango](https://github.com/interdependence/tree-sitter-htmldjango) | unsupported | `HFIJ ` | | | @ObserverOfTime
[http](https://github.com/rest-nvim/tree-sitter-http) | | `H  J ` | | ✓ | @amaanq [http](https://github.com/rest-nvim/tree-sitter-http) | core | `H  J ` | | ✓ | @amaanq
[hurl](https://github.com/pfeiferj/tree-sitter-hurl) | community | `HFIJ ` | | | @pfeiferj [hurl](https://github.com/pfeiferj/tree-sitter-hurl) | community | `HFIJ ` | | | @pfeiferj
[ini](https://github.com/justinmk/tree-sitter-ini) | unstable | `HF   ` | | | @theHamsta [ini](https://github.com/justinmk/tree-sitter-ini) | unsupported | `HF   ` | | | @theHamsta
[ispc](https://github.com/fab4100/tree-sitter-ispc) | | `HFIJL` | | ✓ | @fab4100 [ispc](https://github.com/fab4100/tree-sitter-ispc) | community | `HFIJL` | | ✓ | @fab4100
[janet_simple](https://github.com/sogaiu/tree-sitter-janet-simple) | | `HF JL` | | | @sogaiu [janet_simple](https://github.com/sogaiu/tree-sitter-janet-simple) | community | `HF JL` | | | @sogaiu
[java](https://github.com/tree-sitter/tree-sitter-java) | | `HFIJL` | | | @p00f [java](https://github.com/tree-sitter/tree-sitter-java) | community | `HFIJL` | | | @p00f
[javascript](https://github.com/tree-sitter/tree-sitter-javascript) | | `HFIJL` | | | @steelsojka [javascript](https://github.com/tree-sitter/tree-sitter-javascript) | core | `HFIJL` | | | @steelsojka
[jq](https://github.com/flurie/tree-sitter-jq) | | `H  J ` | | | @ObserverOfTime [jq](https://github.com/flurie/tree-sitter-jq) | core | `H  J ` | | | @ObserverOfTime
[jsdoc](https://github.com/tree-sitter/tree-sitter-jsdoc) | | `H    ` | | | @steelsojka [jsdoc](https://github.com/tree-sitter/tree-sitter-jsdoc) | core | `H    ` | | | @steelsojka
[json](https://github.com/tree-sitter/tree-sitter-json) | | `HFI L` | | | @steelsojka [json](https://github.com/tree-sitter/tree-sitter-json) | core | `HFI L` | | | @steelsojka
[json5](https://github.com/Joakker/tree-sitter-json5) | | `H  J ` | | | @Joakker [json5](https://github.com/Joakker/tree-sitter-json5) | community | `H  J ` | | | @Joakker
[jsonc](https://gitlab.com/WhyNotHugo/tree-sitter-jsonc.git) | | `HFIJL` | | ✓ | @WhyNotHugo [jsonc](https://gitlab.com/WhyNotHugo/tree-sitter-jsonc.git) | community | `HFIJL` | | ✓ | @WhyNotHugo
[jsonnet](https://github.com/sourcegraph/tree-sitter-jsonnet) | | `HF  L` | | | @nawordar [jsonnet](https://github.com/sourcegraph/tree-sitter-jsonnet) | community | `HF  L` | | | @nawordar
jsx (queries only)[^jsx] | | `HFIJ ` | | | @steelsojka jsx (queries only)[^jsx] | core | `HFIJ ` | | | @steelsojka
[julia](https://github.com/tree-sitter/tree-sitter-julia) | community | `HFIJL` | | | @theHamsta [julia](https://github.com/tree-sitter/tree-sitter-julia) | core | `HFIJL` | | | @theHamsta
[kconfig](https://github.com/amaanq/tree-sitter-kconfig) | stable | `HFIJL` | | | @amaanq [kconfig](https://github.com/amaanq/tree-sitter-kconfig) | core | `HFIJL` | | | @amaanq
[kdl](https://github.com/amaanq/tree-sitter-kdl) | | `HFIJL` | | | @amaanq [kdl](https://github.com/amaanq/tree-sitter-kdl) | core | `HFIJL` | | | @amaanq
[kotlin](https://github.com/fwcd/tree-sitter-kotlin) | | `HF JL` | | | @SalBakraa [kotlin](https://github.com/fwcd/tree-sitter-kotlin) | community | `HF JL` | | | @SalBakraa
[lalrpop](https://github.com/traxys/tree-sitter-lalrpop) | | `H  JL` | | | @traxys [lalrpop](https://github.com/traxys/tree-sitter-lalrpop) | community | `H  JL` | | | @traxys
[latex](https://github.com/latex-lsp/tree-sitter-latex) | community | `HF J ` | | | @theHamsta, @clason [latex](https://github.com/latex-lsp/tree-sitter-latex) | core | `HF J ` | | | @theHamsta, @clason
[ledger](https://github.com/cbarrete/tree-sitter-ledger) | | `HFIJ ` | | | @cbarrete [ledger](https://github.com/cbarrete/tree-sitter-ledger) | community | `HFIJ ` | | | @cbarrete
[llvm](https://github.com/benwilliamgraham/tree-sitter-llvm) | | `H    ` | | | @benwilliamgraham [llvm](https://github.com/benwilliamgraham/tree-sitter-llvm) | community | `H    ` | | | @benwilliamgraham
[lua](https://github.com/MunifTanjim/tree-sitter-lua) | core | `HFIJL` | | | @muniftanjim [lua](https://github.com/MunifTanjim/tree-sitter-lua) | stable | `HFIJL` | | | @muniftanjim
[luadoc](https://github.com/amaanq/tree-sitter-luadoc) | | `H    ` | | | @amaanq [luadoc](https://github.com/amaanq/tree-sitter-luadoc) | core | `H    ` | | | @amaanq
[luap](https://github.com/amaanq/tree-sitter-luap)[^luap] | | `H    ` | | | @amaanq [luap](https://github.com/amaanq/tree-sitter-luap)[^luap] | core | `H    ` | | | @amaanq
[luau](https://github.com/amaanq/tree-sitter-luau) | | `HFIJL` | | | @amaanq [luau](https://github.com/amaanq/tree-sitter-luau) | core | `HFIJL` | | | @amaanq
[m68k](https://github.com/grahambates/tree-sitter-m68k) | | `HF JL` | | | @grahambates [m68k](https://github.com/grahambates/tree-sitter-m68k) | community | `HF JL` | | | @grahambates
[make](https://github.com/alemuller/tree-sitter-make) | | `HF J ` | | | @lewis6991 [make](https://github.com/alemuller/tree-sitter-make) | core | `HF J ` | | | @lewis6991
[markdown](https://github.com/MDeiml/tree-sitter-markdown)[^markdown] | core | `HFIJ ` | | | @MDeiml [markdown](https://github.com/MDeiml/tree-sitter-markdown)[^markdown] | stable | `HFIJ ` | | | @MDeiml
[markdown_inline](https://github.com/MDeiml/tree-sitter-markdown)[^markdown_inline] | core | `H  J ` | | | @MDeiml [markdown_inline](https://github.com/MDeiml/tree-sitter-markdown)[^markdown_inline] | stable | `H  J ` | | | @MDeiml
[matlab](https://github.com/acristoffers/tree-sitter-matlab) | | `HFIJL` | | | @acristoffers [matlab](https://github.com/acristoffers/tree-sitter-matlab) | community | `HFIJL` | | | @acristoffers
[menhir](https://github.com/Kerl13/tree-sitter-menhir) | | `H  J ` | | | @Kerl13 [menhir](https://github.com/Kerl13/tree-sitter-menhir) | community | `H  J ` | | | @Kerl13
[mermaid](https://github.com/monaqa/tree-sitter-mermaid) | unstable | `H    ` | | | [mermaid](https://github.com/monaqa/tree-sitter-mermaid) | unsupported | `H    ` | | |
[meson](https://github.com/Decodetalkers/tree-sitter-meson) | | `HF J ` | | | @Decodetalkers [meson](https://github.com/Decodetalkers/tree-sitter-meson) | community | `HF J ` | | | @Decodetalkers
[mlir](https://github.com/artagnon/tree-sitter-mlir) | unstable | `H   L` | ✓ | | @artagnon [mlir](https://github.com/artagnon/tree-sitter-mlir) | unsupported | `H   L` | ✓ | | @artagnon
[nickel](https://github.com/nickel-lang/tree-sitter-nickel) | unstable | `H I  ` | | | [nickel](https://github.com/nickel-lang/tree-sitter-nickel) | unsupported | `H I  ` | | |
[ninja](https://github.com/alemuller/tree-sitter-ninja) | | `HFI  ` | | | @alemuller [ninja](https://github.com/alemuller/tree-sitter-ninja) | community | `HFI  ` | | | @alemuller
[nix](https://github.com/cstrahan/tree-sitter-nix) | | `HF JL` | | | @leo60228 [nix](https://github.com/cstrahan/tree-sitter-nix) | community | `HF JL` | | | @leo60228
[nqc](https://github.com/amaanq/tree-sitter-nqc) | stable | `HFIJL` | | | @amaanq [nqc](https://github.com/amaanq/tree-sitter-nqc) | core | `HFIJL` | | | @amaanq
[objc](https://github.com/amaanq/tree-sitter-objc) | | `HFIJL` | | | @amaanq [objc](https://github.com/amaanq/tree-sitter-objc) | core | `HFIJL` | | | @amaanq
[ocaml](https://github.com/tree-sitter/tree-sitter-ocaml) | | `HFIJL` | | | @undu [ocaml](https://github.com/tree-sitter/tree-sitter-ocaml) | community | `HFIJL` | | | @undu
[ocaml_interface](https://github.com/tree-sitter/tree-sitter-ocaml) | | `HFIJL` | | | @undu [ocaml_interface](https://github.com/tree-sitter/tree-sitter-ocaml) | community | `HFIJL` | | | @undu
[ocamllex](https://github.com/atom-ocaml/tree-sitter-ocamllex) | | `H  J ` | ✓ | | @undu [ocamllex](https://github.com/atom-ocaml/tree-sitter-ocamllex) | community | `H  J ` | ✓ | | @undu
[odin](https://github.com/amaanq/tree-sitter-odin) | | `HFIJL` | | | @amaanq [odin](https://github.com/amaanq/tree-sitter-odin) | core | `HFIJL` | | | @amaanq
[org](https://github.com/milisims/tree-sitter-org) | unstable | `     ` | | | [org](https://github.com/milisims/tree-sitter-org) | unsupported | `     ` | | |
[pascal](https://github.com/Isopod/tree-sitter-pascal.git) | | `HFIJL` | | | @Isopod [pascal](https://github.com/Isopod/tree-sitter-pascal.git) | community | `HFIJL` | | | @Isopod
[passwd](https://github.com/ath3/tree-sitter-passwd) | | `H    ` | | | @amaanq [passwd](https://github.com/ath3/tree-sitter-passwd) | community | `H    ` | | | @amaanq
[pem](https://github.com/ObserverOfTime/tree-sitter-pem) | stable | `HF J ` | | | @ObserverOfTime [pem](https://github.com/ObserverOfTime/tree-sitter-pem) | core | `HF J ` | | | @ObserverOfTime
[perl](https://github.com/ganezdragon/tree-sitter-perl) | | `HF J ` | | | @lcrownover [perl](https://github.com/ganezdragon/tree-sitter-perl) | unsupported | `HF J ` | | |
[php](https://github.com/tree-sitter/tree-sitter-php) | | `HFIJL` | | | @tk-shirasaka [php](https://github.com/tree-sitter/tree-sitter-php) | community | `HFIJL` | | | @tk-shirasaka
[phpdoc](https://github.com/claytonrcarter/tree-sitter-phpdoc) | unstable | `H    ` | | ✓ | @mikehaertl [phpdoc](https://github.com/claytonrcarter/tree-sitter-phpdoc) | unsupported | `H    ` | | ✓ | @mikehaertl
[pioasm](https://github.com/leo60228/tree-sitter-pioasm) | | `H  J ` | | | @leo60228 [pioasm](https://github.com/leo60228/tree-sitter-pioasm) | community | `H  J ` | | | @leo60228
[po](https://github.com/erasin/tree-sitter-po) | | `HF J ` | | | @amaanq [po](https://github.com/erasin/tree-sitter-po) | core | `HF J ` | | | @amaanq
[poe_filter](https://github.com/ObserverOfTime/tree-sitter-poe-filter)[^poe_filter] | unstable | `HFIJ ` | | | @ObserverOfTime [poe_filter](https://github.com/ObserverOfTime/tree-sitter-poe-filter)[^poe_filter] | unsupported | `HFIJ ` | | | @ObserverOfTime
[pony](https://github.com/amaanq/tree-sitter-pony) | | `HFIJL` | | | @amaanq, @mfelsche [pony](https://github.com/amaanq/tree-sitter-pony) | core | `HFIJL` | | | @amaanq, @mfelsche
[prisma](https://github.com/victorhqc/tree-sitter-prisma) | | `H    ` | | | @elianiva [prisma](https://github.com/victorhqc/tree-sitter-prisma) | community | `H    ` | | | @elianiva
[promql](https://github.com/MichaHoffmann/tree-sitter-promql) | unstable | `H  J ` | | | @MichaHoffmann [promql](https://github.com/MichaHoffmann/tree-sitter-promql) | unsupported | `H  J ` | | | @MichaHoffmann
[proto](https://github.com/treywood/tree-sitter-proto) | | `HF   ` | | | @treywood [proto](https://github.com/treywood/tree-sitter-proto) | community | `HF   ` | | | @treywood
[prql](https://github.com/PRQL/tree-sitter-prql) | | `H  J ` | | | @matthias-Q [prql](https://github.com/PRQL/tree-sitter-prql) | core | `H  J ` | | | @matthias-Q
[psv](https://github.com/amaanq/tree-sitter-csv) | stable | `H    ` | | | @amaanq [psv](https://github.com/amaanq/tree-sitter-csv) | core | `H    ` | | | @amaanq
[pug](https://github.com/zealot128/tree-sitter-pug) | unstable | `H  J ` | | | @zealot128 [pug](https://github.com/zealot128/tree-sitter-pug) | unsupported | `H  J ` | | | @zealot128
[puppet](https://github.com/amaanq/tree-sitter-puppet) | | `HFIJL` | | | @amaanq [puppet](https://github.com/amaanq/tree-sitter-puppet) | core | `HFIJL` | | | @amaanq
[pymanifest](https://github.com/ObserverOfTime/tree-sitter-pymanifest) | stable | `H  J ` | | | @ObserverOfTime [pymanifest](https://github.com/ObserverOfTime/tree-sitter-pymanifest) | core | `H  J ` | | | @ObserverOfTime
[python](https://github.com/tree-sitter/tree-sitter-python) | | `HFIJL` | | | @stsewd, @theHamsta [python](https://github.com/tree-sitter/tree-sitter-python) | stable | `HFIJL` | | | @stsewd, @theHamsta
[ql](https://github.com/tree-sitter/tree-sitter-ql) | | `HFIJL` | | | @pwntester [ql](https://github.com/tree-sitter/tree-sitter-ql) | community | `HFIJL` | | | @pwntester
[qmldir](https://github.com/Decodetalkers/tree-sitter-qmldir) | | `H  J ` | | | @amaanq [qmldir](https://github.com/Decodetalkers/tree-sitter-qmldir) | core | `H  J ` | | | @amaanq
[qmljs](https://github.com/yuja/tree-sitter-qmljs) | | `HF   ` | | | @Decodetalkers [qmljs](https://github.com/yuja/tree-sitter-qmljs) | community | `HF   ` | | | @Decodetalkers
[query](https://github.com/nvim-treesitter/tree-sitter-query)[^query] | core | `HFIJL` | | | @steelsojka [query](https://github.com/nvim-treesitter/tree-sitter-query)[^query] | stable | `HFIJL` | | | @steelsojka
[r](https://github.com/r-lib/tree-sitter-r) | | `H IJL` | | | @echasnovski [r](https://github.com/r-lib/tree-sitter-r) | community | `H IJL` | | | @echasnovski
[racket](https://github.com/6cdh/tree-sitter-racket) | unstable | `HF J ` | | | [racket](https://github.com/6cdh/tree-sitter-racket) | unsupported | `HF J ` | | |
[rasi](https://github.com/Fymyte/tree-sitter-rasi) | | `HFI L` | | | @Fymyte [rasi](https://github.com/Fymyte/tree-sitter-rasi) | community | `HFI L` | | | @Fymyte
[re2c](https://github.com/amaanq/tree-sitter-re2c) | stable | `HFIJL` | | | @amaanq [re2c](https://github.com/amaanq/tree-sitter-re2c) | core | `HFIJL` | | | @amaanq
[regex](https://github.com/tree-sitter/tree-sitter-regex) | | `H    ` | | | @theHamsta [regex](https://github.com/tree-sitter/tree-sitter-regex) | stable | `H    ` | | | @theHamsta
[rego](https://github.com/FallenAngel97/tree-sitter-rego) | | `H  J ` | | | @FallenAngel97 [rego](https://github.com/FallenAngel97/tree-sitter-rego) | community | `H  J ` | | | @FallenAngel97
[requirements](https://github.com/ObserverOfTime/tree-sitter-requirements) | stable | `H  J ` | | | @ObserverOfTime [requirements](https://github.com/ObserverOfTime/tree-sitter-requirements) | core | `H  J ` | | | @ObserverOfTime
[rnoweb](https://github.com/bamonroe/tree-sitter-rnoweb) | | `HF J ` | | | @bamonroe [rnoweb](https://github.com/bamonroe/tree-sitter-rnoweb) | community | `HF J ` | | | @bamonroe
[robot](https://github.com/Hubro/tree-sitter-robot) | community | `HFI  ` | | | @Hubro [robot](https://github.com/Hubro/tree-sitter-robot) | community | `HFI  ` | | | @Hubro
[ron](https://github.com/amaanq/tree-sitter-ron) | | `HFIJL` | | | @amaanq [ron](https://github.com/amaanq/tree-sitter-ron) | core | `HFIJL` | | | @amaanq
[rst](https://github.com/stsewd/tree-sitter-rst) | | `H  JL` | | | @stsewd [rst](https://github.com/stsewd/tree-sitter-rst) | core | `H  JL` | | | @stsewd
[ruby](https://github.com/tree-sitter/tree-sitter-ruby) | | `HFIJL` | | | @TravonteD [ruby](https://github.com/tree-sitter/tree-sitter-ruby) | community | `HFIJL` | | | @TravonteD
[rust](https://github.com/tree-sitter/tree-sitter-rust) | | `HFIJL` | | | @amaanq [rust](https://github.com/tree-sitter/tree-sitter-rust) | core | `HFIJL` | | | @amaanq
[scala](https://github.com/tree-sitter/tree-sitter-scala) | | `HF JL` | | | @stevanmilic [scala](https://github.com/tree-sitter/tree-sitter-scala) | community | `HF JL` | | | @stevanmilic
[scfg](https://git.sr.ht/~rockorager/tree-sitter-scfg) | community | `H  J ` | ✓ | | @WhyNotHugo [scfg](https://git.sr.ht/~rockorager/tree-sitter-scfg) | community | `H  J ` | ✓ | | @WhyNotHugo
[scheme](https://github.com/6cdh/tree-sitter-scheme) | unstable | `HF J ` | | | [scheme](https://github.com/6cdh/tree-sitter-scheme) | unsupported | `HF J ` | | |
[scss](https://github.com/serenadeai/tree-sitter-scss) | community | `HFI  ` | | | @elianiva [scss](https://github.com/serenadeai/tree-sitter-scss) | community | `HFI  ` | | | @elianiva
[slint](https://github.com/jrmoulton/tree-sitter-slint) | unstable | `H I  ` | | | @jrmoulton [slint](https://github.com/jrmoulton/tree-sitter-slint) | unsupported | `H I  ` | | | @jrmoulton
[smali](https://git.sr.ht/~yotam/tree-sitter-smali) | | `HFIJL` | | | @amaanq [smali](https://git.sr.ht/~yotam/tree-sitter-smali) | core | `HFIJL` | | | @amaanq
[smithy](https://github.com/indoorvivants/tree-sitter-smithy) | | `H    ` | | | @amaanq, @keynmol [smithy](https://github.com/indoorvivants/tree-sitter-smithy) | core | `H    ` | | | @amaanq, @keynmol
[solidity](https://github.com/JoranHonig/tree-sitter-solidity) | | `H    ` | | | @amaanq [solidity](https://github.com/JoranHonig/tree-sitter-solidity) | core | `H    ` | | | @amaanq
[sparql](https://github.com/BonaBeavis/tree-sitter-sparql) | | `HFIJL` | | | @BonaBeavis [sparql](https://github.com/BonaBeavis/tree-sitter-sparql) | community | `HFIJL` | | | @BonaBeavis
[sql](https://github.com/derekstride/tree-sitter-sql) | | `H IJ ` | | | @derekstride [sql](https://github.com/derekstride/tree-sitter-sql) | community | `H IJ ` | | | @derekstride
[squirrel](https://github.com/amaanq/tree-sitter-squirrel) | | `HFIJL` | | | @amaanq [squirrel](https://github.com/amaanq/tree-sitter-squirrel) | core | `HFIJL` | | | @amaanq
[starlark](https://github.com/amaanq/tree-sitter-starlark) | | `HFIJL` | | | @amaanq [starlark](https://github.com/amaanq/tree-sitter-starlark) | core | `HFIJL` | | | @amaanq
[strace](https://github.com/sigmaSd/tree-sitter-strace) | stable | `H  J ` | | | @amaanq [strace](https://github.com/sigmaSd/tree-sitter-strace) | core | `H  J ` | | | @amaanq
[supercollider](https://github.com/madskjeldgaard/tree-sitter-supercollider) | | `HFIJL` | | | @madskjeldgaard [supercollider](https://github.com/madskjeldgaard/tree-sitter-supercollider) | community | `HFIJL` | | | @madskjeldgaard
[surface](https://github.com/connorlay/tree-sitter-surface) | | `HFIJ ` | | | @connorlay [surface](https://github.com/connorlay/tree-sitter-surface) | community | `HFIJ ` | | | @connorlay
[svelte](https://github.com/Himujjal/tree-sitter-svelte) | | `HFIJ ` | | | @elianiva [svelte](https://github.com/Himujjal/tree-sitter-svelte) | community | `HFIJ ` | | | @elianiva
[swift](https://github.com/alex-pinkus/tree-sitter-swift) | | `H I L` | ✓ | | @alex-pinkus [swift](https://github.com/alex-pinkus/tree-sitter-swift) | community | `H I L` | ✓ | | @alex-pinkus
[sxhkdrc](https://github.com/RaafatTurki/tree-sitter-sxhkdrc) | | `HF J ` | | | @RaafatTurki [sxhkdrc](https://github.com/RaafatTurki/tree-sitter-sxhkdrc) | community | `HF J ` | | | @RaafatTurki
[systemtap](https://github.com/ok-ryoko/tree-sitter-systemtap) | community | `HF JL` | | | @ok-ryoko [systemtap](https://github.com/ok-ryoko/tree-sitter-systemtap) | community | `HF JL` | | | @ok-ryoko
[t32](https://gitlab.com/xasc/tree-sitter-t32.git) | community | `HFIJL` | | | @xasc [t32](https://gitlab.com/xasc/tree-sitter-t32.git) | community | `HFIJL` | | | @xasc
[tablegen](https://github.com/amaanq/tree-sitter-tablegen) | | `HFIJL` | | | @amaanq [tablegen](https://github.com/amaanq/tree-sitter-tablegen) | core | `HFIJL` | | | @amaanq
[teal](https://github.com/euclidianAce/tree-sitter-teal) | | `HFIJL` | ✓ | | @euclidianAce [teal](https://github.com/euclidianAce/tree-sitter-teal) | community | `HFIJL` | ✓ | | @euclidianAce
[terraform](https://github.com/MichaHoffmann/tree-sitter-hcl) | community | `HFIJ ` | | | @MichaHoffmann [terraform](https://github.com/MichaHoffmann/tree-sitter-hcl) | community | `HFIJ ` | | | @MichaHoffmann
[thrift](https://github.com/duskmoon314/tree-sitter-thrift) | | `HFIJL` | | | @amaanq, @duskmoon314 [thrift](https://github.com/duskmoon314/tree-sitter-thrift) | core | `HFIJL` | | | @amaanq, @duskmoon314
[tiger](https://github.com/ambroisie/tree-sitter-tiger) | | `HFIJL` | | | @ambroisie [tiger](https://github.com/ambroisie/tree-sitter-tiger) | community | `HFIJL` | | | @ambroisie
[tlaplus](https://github.com/tlaplus-community/tree-sitter-tlaplus) | | `HF JL` | | | @ahelwer, @susliko [tlaplus](https://github.com/tlaplus-community/tree-sitter-tlaplus) | community | `HF JL` | | | @ahelwer, @susliko
[todotxt](https://github.com/arnarg/tree-sitter-todotxt.git) | unstable | `H    ` | | | @arnarg [todotxt](https://github.com/arnarg/tree-sitter-todotxt.git) | unsupported | `H    ` | | | @arnarg
[toml](https://github.com/ikatyang/tree-sitter-toml) | | `HFIJL` | | ✓ | @tk-shirasaka [toml](https://github.com/ikatyang/tree-sitter-toml) | community | `HFIJL` | | ✓ | @tk-shirasaka
[tsv](https://github.com/amaanq/tree-sitter-csv) | stable | `H    ` | | | @amaanq [tsv](https://github.com/amaanq/tree-sitter-csv) | core | `H    ` | | | @amaanq
[tsx](https://github.com/tree-sitter/tree-sitter-typescript) | | `HFIJL` | | ✓ | @steelsojka [tsx](https://github.com/tree-sitter/tree-sitter-typescript) | core | `HFIJL` | | ✓ | @steelsojka
[turtle](https://github.com/BonaBeavis/tree-sitter-turtle) | | `HFIJL` | | | @BonaBeavis [turtle](https://github.com/BonaBeavis/tree-sitter-turtle) | community | `HFIJL` | | | @BonaBeavis
[twig](https://github.com/gbprod/tree-sitter-twig) | | `H  J ` | | | @gbprod [twig](https://github.com/gbprod/tree-sitter-twig) | community | `H  J ` | | | @gbprod
[typescript](https://github.com/tree-sitter/tree-sitter-typescript) | | `HFIJL` | | ✓ | @steelsojka [typescript](https://github.com/tree-sitter/tree-sitter-typescript) | core | `HFIJL` | | ✓ | @steelsojka
[ungrammar](https://github.com/Philipp-M/tree-sitter-ungrammar) | | `HFIJL` | | | @Philipp-M, @amaanq [ungrammar](https://github.com/Philipp-M/tree-sitter-ungrammar) | community | `HFIJL` | | | @Philipp-M, @amaanq
[unison](https://github.com/kylegoetz/tree-sitter-unison) | unstable | `H  J ` | ✓ | | @tapegram [unison](https://github.com/kylegoetz/tree-sitter-unison) | unsupported | `H  J ` | ✓ | | @tapegram
[usd](https://github.com/ColinKennedy/tree-sitter-usd) | | `HFI L` | | | @ColinKennedy [usd](https://github.com/ColinKennedy/tree-sitter-usd) | community | `HFI L` | | | @ColinKennedy
[uxntal](https://github.com/amaanq/tree-sitter-uxntal)[^uxntal] | | `HFIJL` | | | @amaanq [uxntal](https://github.com/amaanq/tree-sitter-uxntal)[^uxntal] | core | `HFIJL` | | | @amaanq
[v](https://github.com/v-analyzer/v-analyzer) | | `HFIJL` | | | @kkharji, @amaanq [v](https://github.com/v-analyzer/v-analyzer) | community | `HFIJL` | | | @kkharji, @amaanq
[vala](https://github.com/vala-lang/tree-sitter-vala) | | `HF   ` | | | @Prince781 [vala](https://github.com/vala-lang/tree-sitter-vala) | community | `HF   ` | | | @Prince781
[verilog](https://github.com/tree-sitter/tree-sitter-verilog) | | `HF JL` | | | @zegervdv [verilog](https://github.com/tree-sitter/tree-sitter-verilog) | community | `HF JL` | | | @zegervdv
[vhs](https://github.com/charmbracelet/tree-sitter-vhs) | | `H    ` | | | @caarlos0 [vhs](https://github.com/charmbracelet/tree-sitter-vhs) | community | `H    ` | | | @caarlos0
[vim](https://github.com/neovim/tree-sitter-vim) | core | `HF JL` | | | @clason [vim](https://github.com/neovim/tree-sitter-vim) | stable | `HF JL` | | | @clason
[vimdoc](https://github.com/neovim/tree-sitter-vimdoc) | core | `H  J ` | | | @clason [vimdoc](https://github.com/neovim/tree-sitter-vimdoc) | stable | `H  J ` | | | @clason
[vue](https://github.com/ikatyang/tree-sitter-vue) | | `HFIJ ` | | | @WhyNotHugo [vue](https://github.com/ikatyang/tree-sitter-vue) | community | `HFIJ ` | | | @WhyNotHugo
[wgsl](https://github.com/szebniok/tree-sitter-wgsl) | | `HFI  ` | | | @szebniok [wgsl](https://github.com/szebniok/tree-sitter-wgsl) | community | `HFI  ` | | | @szebniok
[wgsl_bevy](https://github.com/theHamsta/tree-sitter-wgsl-bevy) | | `HFI  ` | | ✓ | @theHamsta [wgsl_bevy](https://github.com/theHamsta/tree-sitter-wgsl-bevy) | core | `HFI  ` | | ✓ | @theHamsta
[wing](https://github.com/winglang/wing) | unstable | `HF  L` | ✓ | | @gshpychka [wing](https://github.com/winglang/wing) | unsupported | `HF  L` | ✓ | | @gshpychka
[xml](https://github.com/ObserverOfTime/tree-sitter-xml) | stable | `HFIJ ` | | | @ObserverOfTime [xml](https://github.com/ObserverOfTime/tree-sitter-xml) | core | `HFIJ ` | | | @ObserverOfTime
[yaml](https://github.com/ikatyang/tree-sitter-yaml) | | `HFIJL` | | | @stsewd [yaml](https://github.com/ikatyang/tree-sitter-yaml) | core | `HFIJL` | | | @stsewd
[yang](https://github.com/Hubro/tree-sitter-yang) | | `HFIJ ` | | | @Hubro [yang](https://github.com/Hubro/tree-sitter-yang) | community | `HFIJ ` | | | @Hubro
[yuck](https://github.com/Philipp-M/tree-sitter-yuck) | | `HFIJL` | | | @Philipp-M, @amaanq [yuck](https://github.com/Philipp-M/tree-sitter-yuck) | community | `HFIJL` | | | @Philipp-M, @amaanq
[zig](https://github.com/maxxnino/tree-sitter-zig) | | `HFIJL` | | | @maxxnino [zig](https://github.com/maxxnino/tree-sitter-zig) | community | `HFIJL` | | | @maxxnino
[^ecma]: queries required by javascript, typescript, tsx, qmljs [^ecma]: queries required by javascript, typescript, tsx, qmljs
[^gdscript]: Godot [^gdscript]: Godot
[^git_config]: git_config
[^glimmer]: Glimmer and Ember [^glimmer]: Glimmer and Ember
[^godot_resource]: Godot Resources [^godot_resource]: Godot Resources
[^html_tags]: queries required by html, astro, vue, svelte [^html_tags]: queries required by html, astro, vue, svelte

View file

@ -4,12 +4,10 @@ This document lists the planned and finished changes in this rewrite towards [Nv
## TODO ## TODO
- [ ] **`query_predicates.lua`:** upstream/remove
- [ ] **`parsers.lua`:** assign tiers
- [ ] **`parsers.lua`:** modularize?
- [ ] **`locals.lua`:** move to `nvim-treesitter-refactor`? - [ ] **`locals.lua`:** move to `nvim-treesitter-refactor`?
- [ ] **update-lockfile:** allow specifying version in addition to commit hash (for Tier 1) - [ ] **update-lockfile:** allow specifying version in addition to commit hash (for Tier 1)
- [ ] **update-lockfile:** one commit per parser/tier? - [ ] **update-lockfile:** one commit per parser/tier?
- [ ] **tests:** fix, update, extend (cover all Tier 1 languages)
- [ ] **documentation:** consolidate, autogenerate? - [ ] **documentation:** consolidate, autogenerate?
- [ ] **documentation:** migration guide - [ ] **documentation:** migration guide
- [ ] **textobjects:** include simple(!) function, queries? (check Helix) - [ ] **textobjects:** include simple(!) function, queries? (check Helix)

View file

@ -10,7 +10,7 @@ local M = {}
local config = { local config = {
auto_install = false, auto_install = false,
ensure_install = {}, ensure_install = {},
ignore_install = {}, ignore_install = { 'unsupported' },
install_dir = vim.fs.joinpath(vim.fn.stdpath('data'), 'site'), install_dir = vim.fs.joinpath(vim.fn.stdpath('data'), 'site'),
} }

View file

@ -95,11 +95,6 @@ local function get_target_revision(lang)
lockfile = vim.json.decode(util.read_file(filename)) --[[@as table<string, LockfileInfo>]] lockfile = vim.json.decode(util.read_file(filename)) --[[@as table<string, LockfileInfo>]]
end end
local install_info = get_parser_install_info(lang)
if install_info.revision then
return install_info.revision
end
if lockfile[lang] then if lockfile[lang] then
return lockfile[lang].revision return lockfile[lang].revision
end end
@ -434,7 +429,7 @@ local function install_lang(lang, cache_dir, install_dir, force, generate_from_g
logger:error('Node JS not found: `node` is not executable') logger:error('Node JS not found: `node` is not executable')
end end
local revision = repo.revision or get_target_revision(lang) local revision = get_target_revision(lang)
local maybe_local_path = fs.normalize(repo.url) local maybe_local_path = fs.normalize(repo.url)
local from_local_path = vim.fn.isdirectory(maybe_local_path) == 1 local from_local_path = vim.fn.isdirectory(maybe_local_path) == 1

File diff suppressed because it is too large Load diff

View file

@ -11,6 +11,7 @@ local filetypes = {
git_rebase = { 'gitrebase' }, git_rebase = { 'gitrebase' },
glimmer = { 'handlebars', 'html.handlebars' }, glimmer = { 'handlebars', 'html.handlebars' },
godot_resource = { 'gdresource' }, godot_resource = { 'gdresource' },
haskell_persistent = { 'haskellpersistent' },
html = { 'html_tags' }, html = { 'html_tags' },
janet_simple = { 'janet' }, janet_simple = { 'janet' },
javascript = { 'javascript', 'javascriptreact', 'ecma', 'jsx' }, javascript = { 'javascript', 'javascriptreact', 'ecma', 'jsx' },

View file

@ -4,7 +4,7 @@ local util = require('nvim-treesitter.util')
-- Load previous lockfile -- Load previous lockfile
local filename = require('nvim-treesitter.install').get_package_path('lockfile.json') local filename = require('nvim-treesitter.install').get_package_path('lockfile.json')
-- local old_lockfile = vim.json.decode(util.read_file(filename)) --[[@as table<string,{revision:string}>]] local old_lockfile = vim.json.decode(util.read_file(filename)) --[[@as table<string,{revision:string}>]]
---@type table<string,{revision:string}> ---@type table<string,{revision:string}>
local new_lockfile = {} local new_lockfile = {}
@ -15,9 +15,10 @@ local jobs = {} --- @type table<string,SystemObj>
-- check for new revisions -- check for new revisions
for k, p in pairs(parsers) do for k, p in pairs(parsers) do
if not p.install_info then if p.tier == 4 then
new_lockfile[k] = old_lockfile[k]
print('Skipping ' .. k) print('Skipping ' .. k)
else elseif p.install_info then
jobs[k] = vim.system({ 'git', 'ls-remote', p.install_info.url }) jobs[k] = vim.system({ 'git', 'ls-remote', p.install_info.url })
end end