diff options
| -rw-r--r-- | README.md | 4 | ||||
| -rw-r--r-- | SUPPORTED_LANGUAGES.md | 445 | ||||
| -rw-r--r-- | TODO.md | 7 | ||||
| -rw-r--r-- | lua/nvim-treesitter/config.lua | 2 | ||||
| -rw-r--r-- | lua/nvim-treesitter/install.lua | 7 | ||||
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 179 | ||||
| -rwxr-xr-x | scripts/update-lockfile.lua | 7 |
7 files changed, 397 insertions, 254 deletions
@@ -53,11 +53,11 @@ require('lazy').setup( ```lua 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 = { }, -- List of parsers to ignore installing - ignore_install = { }, + ignore_install = { 'unsupported' }, -- Automatically install missing parsers when entering buffer auto_install = false, diff --git a/SUPPORTED_LANGUAGES.md b/SUPPORTED_LANGUAGES.md index 0dd2c1e9f..dea60f0b4 100644 --- a/SUPPORTED_LANGUAGES.md +++ b/SUPPORTED_LANGUAGES.md @@ -3,7 +3,7 @@ The following is a list of languages for which a parser can be installed through `:TSInstall`. Legend: -- **Tier:** _core_, _stable_, _community_, or _unstable_ +- **Tier:** _stable_, _core_, _community_, or _unsupported_ - **CLI:** `:TSInstall` requires `tree-sitter` CLI installed - **NPM:** `:TSInstallFromGrammar` requires `node` installed - **Queries** available for **H**ighlights, **I**ndents, **F**olds, In**J**ections, **L**ocals @@ -12,287 +12,286 @@ Legend: <!--parserinfo--> Language | Tier | Queries | CLI | NPM | Maintainer -------- |:----:|:-------:|:---:|:---:| ---------- -[ada](https://github.com/briot/tree-sitter-ada) | | `HF L` | | | @briot -[agda](https://github.com/tree-sitter/tree-sitter-agda) | | `HF ` | | | @Decodetalkers -[angular](https://github.com/dlvandenberg/tree-sitter-angular) | unstable | `HFIJL` | | ✓ | @dlvandenberg +[ada](https://github.com/briot/tree-sitter-ada) | community | `HF L` | | | @briot +[agda](https://github.com/tree-sitter/tree-sitter-agda) | community | `HF ` | | | @Decodetalkers +[angular](https://github.com/dlvandenberg/tree-sitter-angular) | unsupported | `HFIJL` | | ✓ | @dlvandenberg [apex](https://github.com/aheber/tree-sitter-sfapex) | community | `HF L` | | | @aheber -[arduino](https://github.com/ObserverOfTime/tree-sitter-arduino) | | `HFIJL` | | | @ObserverOfTime +[arduino](https://github.com/ObserverOfTime/tree-sitter-arduino) | core | `HFIJL` | | | @ObserverOfTime [asm](https://github.com/RubixDev/tree-sitter-asm) | community | `H J ` | | | @RubixDev -[astro](https://github.com/virchau13/tree-sitter-astro) | | `HFIJL` | | | @virchau13 +[astro](https://github.com/virchau13/tree-sitter-astro) | community | `HFIJL` | | | @virchau13 [authzed](https://github.com/mleonidas/tree-sitter-authzed) | community | `H J ` | | | @mattpolzin -[awk](https://github.com/Beaglefoot/tree-sitter-awk) | | `H J ` | | | -[bash](https://github.com/tree-sitter/tree-sitter-bash) | | `HF JL` | | | @TravonteD -[bass](https://github.com/vito/tree-sitter-bass) | | `HFIJL` | | | @amaanq -[beancount](https://github.com/polarmutex/tree-sitter-beancount) | | `HF J ` | | | @polarmutex -[bibtex](https://github.com/latex-lsp/tree-sitter-bibtex) | community | `HFI ` | | | @theHamsta, @clason -[bicep](https://github.com/amaanq/tree-sitter-bicep) | | `HFIJL` | | | @amaanq -[bitbake](https://github.com/amaanq/tree-sitter-bitbake) | stable | `HFIJL` | | | @amaanq -[blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint.git) | unstable | `H ` | | | @gabmus -[c](https://github.com/tree-sitter/tree-sitter-c) | core | `HFIJL` | | | @amaanq -[c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) | | `HF JL` | | | @Luxed -[cairo](https://github.com/amaanq/tree-sitter-cairo) | stable | `HFIJL` | | | @amaanq -[capnp](https://github.com/amaanq/tree-sitter-capnp) | | `HFIJL` | | | @amaanq -[chatito](https://github.com/ObserverOfTime/tree-sitter-chatito) | | `HFIJL` | | | @ObserverOfTime -[clojure](https://github.com/sogaiu/tree-sitter-clojure) | | `HF JL` | | | @NoahTheDuke -[cmake](https://github.com/uyha/tree-sitter-cmake) | | `HFI ` | | | @uyha -[comment](https://github.com/stsewd/tree-sitter-comment) | stable | `H ` | | | @stsewd -[commonlisp](https://github.com/theHamsta/tree-sitter-commonlisp) | | `HF L` | | ✓ | @theHamsta +[awk](https://github.com/Beaglefoot/tree-sitter-awk) | unsupported | `H J ` | | | +[bash](https://github.com/tree-sitter/tree-sitter-bash) | community | `HF JL` | | | @TravonteD +[bass](https://github.com/vito/tree-sitter-bass) | core | `HFIJL` | | | @amaanq +[beancount](https://github.com/polarmutex/tree-sitter-beancount) | community | `HF J ` | | | @polarmutex +[bibtex](https://github.com/latex-lsp/tree-sitter-bibtex) | core | `HFI ` | | | @theHamsta, @clason +[bicep](https://github.com/amaanq/tree-sitter-bicep) | core | `HFIJL` | | | @amaanq +[bitbake](https://github.com/amaanq/tree-sitter-bitbake) | core | `HFIJL` | | | @amaanq +[blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint.git) | unsupported | `H ` | | | @gabmus +[c](https://github.com/tree-sitter/tree-sitter-c) | stable | `HFIJL` | | | @amaanq +[c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) | community | `HF JL` | | | @Luxed +[cairo](https://github.com/amaanq/tree-sitter-cairo) | core | `HFIJL` | | | @amaanq +[capnp](https://github.com/amaanq/tree-sitter-capnp) | core | `HFIJL` | | | @amaanq +[chatito](https://github.com/ObserverOfTime/tree-sitter-chatito) | core | `HFIJL` | | | @ObserverOfTime +[clojure](https://github.com/sogaiu/tree-sitter-clojure) | community | `HF JL` | | | @NoahTheDuke +[cmake](https://github.com/uyha/tree-sitter-cmake) | unsupported | `HFI ` | | | @uyha +[comment](https://github.com/stsewd/tree-sitter-comment) | core | `H ` | | | @stsewd +[commonlisp](https://github.com/theHamsta/tree-sitter-commonlisp) | core | `HF L` | | ✓ | @theHamsta [cooklang](https://github.com/addcninblue/tree-sitter-cooklang) | community | `H ` | | | @addcninblue [corn](https://github.com/jakestanger/tree-sitter-corn) | community | `HFI L` | | | @jakestanger -[cpon](https://github.com/amaanq/tree-sitter-cpon) | | `HFIJL` | | | @amaanq -[cpp](https://github.com/tree-sitter/tree-sitter-cpp) | | `HFIJL` | | ✓ | @theHamsta -[css](https://github.com/tree-sitter/tree-sitter-css) | | `HFIJ ` | | | @TravonteD -[csv](https://github.com/amaanq/tree-sitter-csv) | stable | `H ` | | | @amaanq -[cuda](https://github.com/theHamsta/tree-sitter-cuda) | | `HFIJL` | | ✓ | @theHamsta -[cue](https://github.com/eonpatapon/tree-sitter-cue) | | `HFIJL` | | | @amaanq -[d](https://github.com/gdamore/tree-sitter-d) | stable | `HFIJL` | | | @amaanq -[dart](https://github.com/UserNobody14/tree-sitter-dart) | | `HFIJL` | | | @akinsho -[devicetree](https://github.com/joelspadin/tree-sitter-devicetree) | | `HFIJL` | | | @jedrzejboczar -[dhall](https://github.com/jbellerb/tree-sitter-dhall) | | `HF J ` | | | @amaanq -[diff](https://github.com/the-mikedavis/tree-sitter-diff) | | `H ` | | | @gbprod +[cpon](https://github.com/amaanq/tree-sitter-cpon) | core | `HFIJL` | | | @amaanq +[cpp](https://github.com/tree-sitter/tree-sitter-cpp) | stable | `HFIJL` | | ✓ | @theHamsta +[css](https://github.com/tree-sitter/tree-sitter-css) | community | `HFIJ ` | | | @TravonteD +[csv](https://github.com/amaanq/tree-sitter-csv) | core | `H ` | | | @amaanq +[cuda](https://github.com/theHamsta/tree-sitter-cuda) | core | `HFIJL` | | ✓ | @theHamsta +[cue](https://github.com/eonpatapon/tree-sitter-cue) | core | `HFIJL` | | | @amaanq +[d](https://github.com/gdamore/tree-sitter-d) | core | `HFIJL` | | | @amaanq +[dart](https://github.com/UserNobody14/tree-sitter-dart) | unsupported | `HFIJL` | | | @akinsho +[devicetree](https://github.com/joelspadin/tree-sitter-devicetree) | community | `HFIJL` | | | @jedrzejboczar +[dhall](https://github.com/jbellerb/tree-sitter-dhall) | core | `HF J ` | | | @amaanq +[diff](https://github.com/the-mikedavis/tree-sitter-diff) | community | `H ` | | | @gbprod [disassembly](https://github.com/ColinKennedy/tree-sitter-disassembly) | community | `H J ` | | | @ColinKennedy [djot](https://github.com/treeman/tree-sitter-djot) | community | `HFIJL` | | | @NoahTheDuke -[dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile) | | `H J ` | | | @camdencheek -[dot](https://github.com/rydesun/tree-sitter-dot) | | `H IJ ` | | | @rydesun -[doxygen](https://github.com/amaanq/tree-sitter-doxygen) | stable | `H IJ ` | | | @amaanq -[dtd](https://github.com/tree-sitter-grammars/tree-sitter-xml) | stable | `HF JL` | | | @ObserverOfTime +[dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile) | community | `H J ` | | | @camdencheek +[dot](https://github.com/rydesun/tree-sitter-dot) | community | `H IJ ` | | | @rydesun +[doxygen](https://github.com/amaanq/tree-sitter-doxygen) | core | `H IJ ` | | | @amaanq +[dtd](https://github.com/tree-sitter-grammars/tree-sitter-xml) | core | `HF JL` | | | @ObserverOfTime [earthfile](https://github.com/glehmann/tree-sitter-earthfile) | community | `H J ` | | | @glehmann -[ebnf](https://github.com/RubixDev/ebnf) | unstable | `H ` | | | @RubixDev -ecma (queries only)[^ecma] | | `HFIJL` | | | @steelsojka +[ebnf](https://github.com/RubixDev/ebnf) | unsupported | `H ` | | | @RubixDev +ecma (queries only)[^ecma] | core | `HFIJL` | | | @steelsojka [eds](https://github.com/uyha/tree-sitter-eds) | community | `HF ` | | | @uyha -[eex](https://github.com/connorlay/tree-sitter-eex) | | `H J ` | | | @connorlay -[elixir](https://github.com/elixir-lang/tree-sitter-elixir) | | `HFIJL` | | | @connorlay -[elm](https://github.com/elm-tooling/tree-sitter-elm) | | `H J ` | | | @zweimach -[elsa](https://github.com/glapa-grossklag/tree-sitter-elsa) | | `HFIJL` | | | @glapa-grossklag, @amaanq -[elvish](https://github.com/elves/tree-sitter-elvish) | | `H J ` | | | @elves -[embedded_template](https://github.com/tree-sitter/tree-sitter-embedded-template) | unstable | `H J ` | | | -[erlang](https://github.com/WhatsApp/tree-sitter-erlang) | | `HF ` | | | @filmor +[eex](https://github.com/connorlay/tree-sitter-eex) | community | `H J ` | | | @connorlay +[elixir](https://github.com/elixir-lang/tree-sitter-elixir) | community | `HFIJL` | | | @connorlay +[elm](https://github.com/elm-tooling/tree-sitter-elm) | unsupported | `H J ` | | | @zweimach +[elsa](https://github.com/glapa-grossklag/tree-sitter-elsa) | core | `HFIJL` | | | @glapa-grossklag, @amaanq +[elvish](https://github.com/elves/tree-sitter-elvish) | community | `H J ` | | | @elves +[embedded_template](https://github.com/tree-sitter/tree-sitter-embedded-template) | unsupported | `H J ` | | | +[erlang](https://github.com/WhatsApp/tree-sitter-erlang) | community | `HF ` | | | @filmor [facility](https://github.com/FacilityApi/tree-sitter-facility) | community | `HFIJ ` | | | @bryankenote [faust](https://github.com/khiner/tree-sitter-faust) | community | `H J ` | | | @khiner -[fennel](https://github.com/alexmozaidze/tree-sitter-fennel) | | `HF JL` | | ✓ | @alexmozaidze +[fennel](https://github.com/alexmozaidze/tree-sitter-fennel) | community | `HF JL` | | ✓ | @alexmozaidze [fidl](https://github.com/google/tree-sitter-fidl) | community | `HF J ` | | | @chaopeng -[firrtl](https://github.com/amaanq/tree-sitter-firrtl) | | `HFIJL` | | | @amaanq -[fish](https://github.com/ram02z/tree-sitter-fish) | | `HFIJL` | | | @ram02z -[foam](https://github.com/FoamScience/tree-sitter-foam) | unstable | `HFIJL` | | | @FoamScience -[forth](https://github.com/AlexanderBrevig/tree-sitter-forth) | stable | `HFIJL` | | | @amaanq -[fortran](https://github.com/stadelmanma/tree-sitter-fortran) | | `HFI ` | | | @amaanq -[fsh](https://github.com/mgramigna/tree-sitter-fsh) | | `H ` | | | @mgramigna -[func](https://github.com/amaanq/tree-sitter-func) | | `H ` | | | @amaanq -[fusion](https://gitlab.com/jirgn/tree-sitter-fusion.git) | | `HFI L` | | | @jirgn -[gdscript](https://github.com/PrestonKnopp/tree-sitter-gdscript)[^gdscript] | | `HFIJL` | | | @PrestonKnopp +[firrtl](https://github.com/amaanq/tree-sitter-firrtl) | core | `HFIJL` | | | @amaanq +[fish](https://github.com/ram02z/tree-sitter-fish) | community | `HFIJL` | | | @ram02z +[foam](https://github.com/FoamScience/tree-sitter-foam) | community | `HFIJL` | | | @FoamScience +[forth](https://github.com/AlexanderBrevig/tree-sitter-forth) | core | `HFIJL` | | | @amaanq +[fortran](https://github.com/stadelmanma/tree-sitter-fortran) | core | `HFI ` | | | @amaanq +[fsh](https://github.com/mgramigna/tree-sitter-fsh) | community | `H ` | | | @mgramigna +[func](https://github.com/amaanq/tree-sitter-func) | core | `H ` | | | @amaanq +[fusion](https://gitlab.com/jirgn/tree-sitter-fusion.git) | community | `HFI L` | | | @jirgn +[gdscript](https://github.com/PrestonKnopp/tree-sitter-gdscript)[^gdscript] | community | `HFIJL` | | | @PrestonKnopp [gdshader](https://github.com/GodOfAvacyn/tree-sitter-gdshader) | community | `H J ` | | | @godofavacyn -[git_config](https://github.com/the-mikedavis/tree-sitter-git-config)[^git_config] | | `HF J ` | | | @amaanq -[git_rebase](https://github.com/the-mikedavis/tree-sitter-git-rebase) | | `H J ` | | | @gbprod -[gitattributes](https://github.com/ObserverOfTime/tree-sitter-gitattributes) | | `H JL` | | | @ObserverOfTime -[gitcommit](https://github.com/gbprod/tree-sitter-gitcommit) | | `H J ` | | | @gbprod -[gitignore](https://github.com/shunsambongi/tree-sitter-gitignore) | | `H ` | | | @theHamsta -[gleam](https://github.com/gleam-lang/tree-sitter-gleam) | | `HFIJL` | | | @amaanq -[glimmer](https://github.com/alexlafroscia/tree-sitter-glimmer)[^glimmer] | | `HFI L` | | | @NullVoxPopuli -[glsl](https://github.com/theHamsta/tree-sitter-glsl) | | `HFIJL` | | ✓ | @theHamsta -[gn](https://github.com/amaanq/tree-sitter-gn) | stable | `HFIJL` | | | @amaanq +[git_config](https://github.com/the-mikedavis/tree-sitter-git-config) | core | `HF J ` | | | @amaanq +[git_rebase](https://github.com/the-mikedavis/tree-sitter-git-rebase) | community | `H J ` | | | @gbprod +[gitattributes](https://github.com/ObserverOfTime/tree-sitter-gitattributes) | core | `H JL` | | | @ObserverOfTime +[gitcommit](https://github.com/gbprod/tree-sitter-gitcommit) | community | `H J ` | | | @gbprod +[gitignore](https://github.com/shunsambongi/tree-sitter-gitignore) | core | `H ` | | | @theHamsta +[gleam](https://github.com/gleam-lang/tree-sitter-gleam) | core | `HFIJL` | | | @amaanq +[glimmer](https://github.com/alexlafroscia/tree-sitter-glimmer)[^glimmer] | community | `HFI L` | | | @NullVoxPopuli +[glsl](https://github.com/theHamsta/tree-sitter-glsl) | core | `HFIJL` | | ✓ | @theHamsta +[gn](https://github.com/amaanq/tree-sitter-gn) | core | `HFIJL` | | | @amaanq [gnuplot](https://github.com/dpezto/tree-sitter-gnuplot) | community | `H J ` | | | @dpezto -[go](https://github.com/tree-sitter/tree-sitter-go) | | `HFIJL` | | | @theHamsta, @WinWisely268 -[godot_resource](https://github.com/PrestonKnopp/tree-sitter-godot-resource)[^godot_resource] | | `HF JL` | | | @pierpo -[gomod](https://github.com/camdencheek/tree-sitter-go-mod) | | `H J ` | | | @camdencheek -[gosum](https://github.com/amaanq/tree-sitter-go-sum) | | `H ` | | | @amaanq +[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] | community | `HF JL` | | | @pierpo +[gomod](https://github.com/camdencheek/tree-sitter-go-mod) | community | `H J ` | | | @camdencheek +[gosum](https://github.com/amaanq/tree-sitter-go-sum) | core | `H ` | | | @amaanq [gotmpl](https://github.com/ngalaiko/tree-sitter-go-template) | community | `H J ` | | | @qvalentin -[gowork](https://github.com/omertuc/tree-sitter-go-work) | | `H J ` | | | @omertuc -[gpg](https://github.com/ObserverOfTime/tree-sitter-gpg-config) | stable | `H J ` | | | @ObserverOfTime -[graphql](https://github.com/bkegley/tree-sitter-graphql) | | `H IJ ` | | | @bkegley +[gowork](https://github.com/omertuc/tree-sitter-go-work) | community | `H J ` | | | @omertuc +[gpg](https://github.com/ObserverOfTime/tree-sitter-gpg-config) | core | `H J ` | | | @ObserverOfTime +[graphql](https://github.com/bkegley/tree-sitter-graphql) | community | `H IJ ` | | | @bkegley [groovy](https://github.com/murtaza64/tree-sitter-groovy) | community | `HFIJL` | | | @murtaza64 -[gstlaunch](https://github.com/theHamsta/tree-sitter-gstlaunch) | stable | `H ` | | | @theHamsta -[hack](https://github.com/slackhq/tree-sitter-hack) | unstable | `H ` | | | -[hare](https://github.com/amaanq/tree-sitter-hare) | | `HFIJL` | | | @amaanq +[gstlaunch](https://github.com/theHamsta/tree-sitter-gstlaunch) | core | `H ` | | | @theHamsta +[hack](https://github.com/slackhq/tree-sitter-hack) | unsupported | `H ` | | | +[hare](https://github.com/amaanq/tree-sitter-hare) | core | `HFIJL` | | | @amaanq [haskell](https://github.com/tree-sitter/tree-sitter-haskell) | community | `HF J ` | | | @mrcjkb -[haskell_persistent](https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent) | | `HF ` | | | @lykahb -[hcl](https://github.com/MichaHoffmann/tree-sitter-hcl) | | `HFIJ ` | | | @MichaHoffmann -[heex](https://github.com/connorlay/tree-sitter-heex) | | `HFIJL` | | | @connorlay +[haskell_persistent](https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent) | community | `HF ` | | | @lykahb +[hcl](https://github.com/MichaHoffmann/tree-sitter-hcl) | community | `HFIJ ` | | | @MichaHoffmann +[heex](https://github.com/connorlay/tree-sitter-heex) | community | `HFIJL` | | | @connorlay [helm](https://github.com/ngalaiko/tree-sitter-go-template) | community | `H J ` | | | @qvalentin -[hjson](https://github.com/winston0410/tree-sitter-hjson) | | `HFIJL` | | ✓ | @winston0410 -[hlsl](https://github.com/theHamsta/tree-sitter-hlsl) | | `HFIJL` | | ✓ | @theHamsta +[hjson](https://github.com/winston0410/tree-sitter-hjson) | community | `HFIJL` | | ✓ | @winston0410 +[hlsl](https://github.com/theHamsta/tree-sitter-hlsl) | core | `HFIJL` | | ✓ | @theHamsta [hlsplaylist](https://github.com/Freed-Wu/tree-sitter-hlsplaylist) | community | `H J ` | | | @Freed-Wu -[hocon](https://github.com/antosha417/tree-sitter-hocon) | | `HF J ` | | ✓ | @antosha417 -[hoon](https://github.com/urbit-pilled/tree-sitter-hoon) | unstable | `HF L` | | | @urbit-pilled -[html](https://github.com/tree-sitter/tree-sitter-html) | | `HFIJL` | | | @TravonteD -html_tags (queries only)[^html_tags] | | `H IJ ` | | | @TravonteD -[htmldjango](https://github.com/interdependence/tree-sitter-htmldjango) | unstable | `HFIJ ` | | | @ObserverOfTime -[http](https://github.com/rest-nvim/tree-sitter-http) | | `H J ` | | | @amaanq, @NTBBloodbath +[hocon](https://github.com/antosha417/tree-sitter-hocon) | unsupported | `HF J ` | | ✓ | @antosha417 +[hoon](https://github.com/urbit-pilled/tree-sitter-hoon) | unsupported | `HF L` | | | @urbit-pilled +[html](https://github.com/tree-sitter/tree-sitter-html) | community | `HFIJL` | | | @TravonteD +html_tags (queries only)[^html_tags] | community | `H IJ ` | | | @TravonteD +[htmldjango](https://github.com/interdependence/tree-sitter-htmldjango) | unsupported | `HFIJ ` | | | @ObserverOfTime +[http](https://github.com/rest-nvim/tree-sitter-http) | core | `H J ` | | | @amaanq, @NTBBloodbath [hurl](https://github.com/pfeiferj/tree-sitter-hurl) | community | `HFIJ ` | | | @pfeiferj [hyprlang](https://github.com/luckasRanarison/tree-sitter-hyprlang) | community | `HFIJ ` | | | @luckasRanarison [idl](https://github.com/cathaysia/tree-sitter-idl) | community | `H J ` | | | @cathaysa -[ini](https://github.com/justinmk/tree-sitter-ini) | unstable | `HF ` | | | @theHamsta +[ini](https://github.com/justinmk/tree-sitter-ini) | unsupported | `HF ` | | | @theHamsta [inko](https://github.com/inko-lang/tree-sitter-inko) | community | `HFIJL` | | | @yorickpeterse -[ispc](https://github.com/fab4100/tree-sitter-ispc) | | `HFIJL` | | ✓ | @fab4100 -[janet_simple](https://github.com/sogaiu/tree-sitter-janet-simple) | | `HF JL` | | | @sogaiu -[java](https://github.com/tree-sitter/tree-sitter-java) | | `HFIJL` | | | @p00f -[javascript](https://github.com/tree-sitter/tree-sitter-javascript) | | `HFIJL` | | | @steelsojka -[jq](https://github.com/flurie/tree-sitter-jq) | | `H JL` | | | @ObserverOfTime -[jsdoc](https://github.com/tree-sitter/tree-sitter-jsdoc) | | `H ` | | | @steelsojka -[json](https://github.com/tree-sitter/tree-sitter-json) | | `HFI L` | | | @steelsojka -[json5](https://github.com/Joakker/tree-sitter-json5) | | `H J ` | | | @Joakker -[jsonc](https://gitlab.com/WhyNotHugo/tree-sitter-jsonc.git) | | `HFIJL` | | ✓ | @WhyNotHugo -[jsonnet](https://github.com/sourcegraph/tree-sitter-jsonnet) | | `HF L` | | | @nawordar -jsx (queries only)[^jsx] | | `HFIJ ` | | | @steelsojka -[julia](https://github.com/tree-sitter/tree-sitter-julia) | community | `HFIJL` | | | @theHamsta +[ispc](https://github.com/fab4100/tree-sitter-ispc) | community | `HFIJL` | | ✓ | @fab4100 +[janet_simple](https://github.com/sogaiu/tree-sitter-janet-simple) | community | `HF JL` | | | @sogaiu +[java](https://github.com/tree-sitter/tree-sitter-java) | community | `HFIJL` | | | @p00f +[javascript](https://github.com/tree-sitter/tree-sitter-javascript) | core | `HFIJL` | | | @steelsojka +[jq](https://github.com/flurie/tree-sitter-jq) | core | `H JL` | | | @ObserverOfTime +[jsdoc](https://github.com/tree-sitter/tree-sitter-jsdoc) | core | `H ` | | | @steelsojka +[json](https://github.com/tree-sitter/tree-sitter-json) | core | `HFI L` | | | @steelsojka +[json5](https://github.com/Joakker/tree-sitter-json5) | community | `H J ` | | | @Joakker +[jsonc](https://gitlab.com/WhyNotHugo/tree-sitter-jsonc.git) | community | `HFIJL` | | ✓ | @WhyNotHugo +[jsonnet](https://github.com/sourcegraph/tree-sitter-jsonnet) | community | `HF L` | | | @nawordar +jsx (queries only)[^jsx] | core | `HFIJ ` | | | @steelsojka +[julia](https://github.com/tree-sitter/tree-sitter-julia) | core | `HFIJL` | | | @theHamsta [just](https://github.com/IndianBoy42/tree-sitter-just) | community | `HFIJL` | | | @Hubro -[kconfig](https://github.com/amaanq/tree-sitter-kconfig) | stable | `HFIJL` | | | @amaanq -[kdl](https://github.com/amaanq/tree-sitter-kdl) | | `HFIJL` | | | @amaanq -[kotlin](https://github.com/fwcd/tree-sitter-kotlin) | | `HF JL` | | | @SalBakraa +[kconfig](https://github.com/amaanq/tree-sitter-kconfig) | core | `HFIJL` | | | @amaanq +[kdl](https://github.com/amaanq/tree-sitter-kdl) | core | `HFIJL` | | | @amaanq +[kotlin](https://github.com/fwcd/tree-sitter-kotlin) | community | `HF JL` | | | @SalBakraa [koto](https://github.com/koto-lang/tree-sitter-koto) | community | `HF JL` | | | @irh [kusto](https://github.com/Willem-J-an/tree-sitter-kusto) | community | `H J ` | | | @Willem-J-an -[lalrpop](https://github.com/traxys/tree-sitter-lalrpop) | | `H JL` | | | @traxys -[latex](https://github.com/latex-lsp/tree-sitter-latex) | community | `HF J ` | ✓ | | @theHamsta, @clason -[ledger](https://github.com/cbarrete/tree-sitter-ledger) | | `HFIJ ` | | | @cbarrete +[lalrpop](https://github.com/traxys/tree-sitter-lalrpop) | community | `H JL` | | | @traxys +[latex](https://github.com/latex-lsp/tree-sitter-latex) | core | `HF J ` | ✓ | | @theHamsta, @clason +[ledger](https://github.com/cbarrete/tree-sitter-ledger) | community | `HFIJ ` | | | @cbarrete [leo](https://github.com/r001/tree-sitter-leo) | community | `H IJ ` | | | @r001 -[linkerscript](https://github.com/amaanq/tree-sitter-linkerscript) | stable | `HFIJL` | | | @amaanq +[linkerscript](https://github.com/amaanq/tree-sitter-linkerscript) | core | `HFIJL` | | | @amaanq [liquid](https://github.com/hankthetank27/tree-sitter-liquid) | community | `H J ` | | | @hankthetank27 [liquidsoap](https://github.com/savonet/tree-sitter-liquidsoap) | community | `HFI L` | | | @toots -[llvm](https://github.com/benwilliamgraham/tree-sitter-llvm) | | `H ` | | | @benwilliamgraham -[lua](https://github.com/MunifTanjim/tree-sitter-lua) | core | `HFIJL` | | | @muniftanjim -[luadoc](https://github.com/amaanq/tree-sitter-luadoc) | | `H ` | | | @amaanq -[luap](https://github.com/amaanq/tree-sitter-luap)[^luap] | | `H ` | | | @amaanq -[luau](https://github.com/amaanq/tree-sitter-luau) | | `HFIJL` | | | @amaanq -[m68k](https://github.com/grahambates/tree-sitter-m68k) | | `HF JL` | | | @grahambates -[make](https://github.com/alemuller/tree-sitter-make) | | `HF J ` | | | @lewis6991 -[markdown](https://github.com/MDeiml/tree-sitter-markdown)[^markdown] | core | `HFIJ ` | | | @MDeiml -[markdown_inline](https://github.com/MDeiml/tree-sitter-markdown)[^markdown_inline] | core | `H J ` | | | @MDeiml -[matlab](https://github.com/acristoffers/tree-sitter-matlab) | | `HFIJL` | | | @acristoffers -[menhir](https://github.com/Kerl13/tree-sitter-menhir) | | `H J ` | | | @Kerl13 -[mermaid](https://github.com/monaqa/tree-sitter-mermaid) | unstable | `H ` | | | -[meson](https://github.com/Decodetalkers/tree-sitter-meson) | | `HFIJ ` | | | @Decodetalkers -[mlir](https://github.com/artagnon/tree-sitter-mlir) | unstable | `H L` | ✓ | | @artagnon +[llvm](https://github.com/benwilliamgraham/tree-sitter-llvm) | community | `H ` | | | @benwilliamgraham +[lua](https://github.com/MunifTanjim/tree-sitter-lua) | stable | `HFIJL` | | | @muniftanjim +[luadoc](https://github.com/amaanq/tree-sitter-luadoc) | core | `H ` | | | @amaanq +[luap](https://github.com/amaanq/tree-sitter-luap)[^luap] | core | `H ` | | | @amaanq +[luau](https://github.com/amaanq/tree-sitter-luau) | core | `HFIJL` | | | @amaanq +[m68k](https://github.com/grahambates/tree-sitter-m68k) | community | `HF JL` | | | @grahambates +[make](https://github.com/alemuller/tree-sitter-make) | core | `HF J ` | | | @lewis6991 +[markdown](https://github.com/MDeiml/tree-sitter-markdown)[^markdown] | stable | `HFIJ ` | | | @MDeiml +[markdown_inline](https://github.com/MDeiml/tree-sitter-markdown)[^markdown_inline] | stable | `H J ` | | | @MDeiml +[matlab](https://github.com/acristoffers/tree-sitter-matlab) | community | `HFIJL` | | | @acristoffers +[menhir](https://github.com/Kerl13/tree-sitter-menhir) | community | `H J ` | | | @Kerl13 +[mermaid](https://github.com/monaqa/tree-sitter-mermaid) | unsupported | `H ` | | | +[meson](https://github.com/Decodetalkers/tree-sitter-meson) | community | `HFIJ ` | | | @Decodetalkers +[mlir](https://github.com/artagnon/tree-sitter-mlir) | unsupported | `H L` | ✓ | | @artagnon [muttrc](https://github.com/neomutt/tree-sitter-muttrc) | community | `H J ` | | | @Freed-Wu -[nasm](https://github.com/naclsn/tree-sitter-nasm) | stable | `H J ` | | | @ObserverOfTime -[nickel](https://github.com/nickel-lang/tree-sitter-nickel) | unstable | `H I ` | | | +[nasm](https://github.com/naclsn/tree-sitter-nasm) | core | `H J ` | | | @ObserverOfTime +[nickel](https://github.com/nickel-lang/tree-sitter-nickel) | unsupported | `H I ` | | | [nim](https://github.com/alaviss/tree-sitter-nim) | community | `HF JL` | | | @aMOPel [nim_format_string](https://github.com/aMOPel/tree-sitter-nim-format-string) | community | `H J ` | | | @aMOPel -[ninja](https://github.com/alemuller/tree-sitter-ninja) | | `HFI ` | | | @alemuller -[nix](https://github.com/cstrahan/tree-sitter-nix) | | `HF JL` | | | @leo60228 -[nqc](https://github.com/amaanq/tree-sitter-nqc) | stable | `HFIJL` | | | @amaanq -[objc](https://github.com/amaanq/tree-sitter-objc) | | `HFIJL` | | | @amaanq +[ninja](https://github.com/alemuller/tree-sitter-ninja) | community | `HFI ` | | | @alemuller +[nix](https://github.com/cstrahan/tree-sitter-nix) | community | `HF JL` | | | @leo60228 +[nqc](https://github.com/amaanq/tree-sitter-nqc) | core | `HFIJL` | | | @amaanq +[objc](https://github.com/amaanq/tree-sitter-objc) | core | `HFIJL` | | | @amaanq [objdump](https://github.com/ColinKennedy/tree-sitter-objdump) | community | `H J ` | | | @ColinKennedy -[ocaml](https://github.com/tree-sitter/tree-sitter-ocaml) | | `HFIJL` | | | @undu -[ocaml_interface](https://github.com/tree-sitter/tree-sitter-ocaml) | | `HFIJL` | | | @undu -[ocamllex](https://github.com/atom-ocaml/tree-sitter-ocamllex) | | `H J ` | ✓ | | @undu -[odin](https://github.com/amaanq/tree-sitter-odin) | | `HFIJL` | | | @amaanq -[org](https://github.com/milisims/tree-sitter-org) | unstable | ` ` | | | -[pascal](https://github.com/Isopod/tree-sitter-pascal.git) | | `HFIJL` | | | @Isopod -[passwd](https://github.com/ath3/tree-sitter-passwd) | | `H ` | | | @amaanq -[pem](https://github.com/ObserverOfTime/tree-sitter-pem) | stable | `HF J ` | | | @ObserverOfTime -[perl](https://github.com/tree-sitter-perl/tree-sitter-perl) | | `HF J ` | | | @RabbiVeesh, @LeoNerd -[php](https://github.com/tree-sitter/tree-sitter-php)[^php] | | `HFIJL` | | | @tk-shirasaka -[php_only](https://github.com/tree-sitter/tree-sitter-php)[^php_only] | | `HFIJL` | | | @tk-shirasaka -[phpdoc](https://github.com/claytonrcarter/tree-sitter-phpdoc) | unstable | `H ` | | ✓ | @mikehaertl -[pioasm](https://github.com/leo60228/tree-sitter-pioasm) | | `H J ` | | | @leo60228 -[po](https://github.com/erasin/tree-sitter-po) | | `HF J ` | | | @amaanq +[ocaml](https://github.com/tree-sitter/tree-sitter-ocaml) | community | `HFIJL` | | | @undu +[ocaml_interface](https://github.com/tree-sitter/tree-sitter-ocaml) | community | `HFIJL` | | | @undu +[ocamllex](https://github.com/atom-ocaml/tree-sitter-ocamllex) | community | `H J ` | ✓ | | @undu +[odin](https://github.com/amaanq/tree-sitter-odin) | core | `HFIJL` | | | @amaanq +[org](https://github.com/milisims/tree-sitter-org) | unsupported | ` ` | | | +[pascal](https://github.com/Isopod/tree-sitter-pascal.git) | community | `HFIJL` | | | @Isopod +[passwd](https://github.com/ath3/tree-sitter-passwd) | community | `H ` | | | @amaanq +[pem](https://github.com/ObserverOfTime/tree-sitter-pem) | core | `HF J ` | | | @ObserverOfTime +[perl](https://github.com/tree-sitter-perl/tree-sitter-perl) | community | `HF J ` | | | @RabbiVeesh, @LeoNerd +[php](https://github.com/tree-sitter/tree-sitter-php)[^php] | community | `HFIJL` | | | @tk-shirasaka +[php_only](https://github.com/tree-sitter/tree-sitter-php)[^php_only] | community | `HFIJL` | | | @tk-shirasaka +[phpdoc](https://github.com/claytonrcarter/tree-sitter-phpdoc) | unsupported | `H ` | | ✓ | @mikehaertl +[pioasm](https://github.com/leo60228/tree-sitter-pioasm) | community | `H J ` | | | @leo60228 +[po](https://github.com/erasin/tree-sitter-po) | core | `HF J ` | | | @amaanq [pod](https://github.com/tree-sitter-perl/tree-sitter-pod) | community | `H ` | | | @RabbiVeesh, @LeoNerd -[poe_filter](https://github.com/ObserverOfTime/tree-sitter-poe-filter)[^poe_filter] | unstable | `HFIJ ` | | | @ObserverOfTime -[pony](https://github.com/amaanq/tree-sitter-pony) | | `HFIJL` | | | @amaanq, @mfelsche -[printf](https://github.com/ObserverOfTime/tree-sitter-printf) | stable | `H ` | | | @ObserverOfTime -[prisma](https://github.com/victorhqc/tree-sitter-prisma) | | `HF ` | | | @elianiva -[promql](https://github.com/MichaHoffmann/tree-sitter-promql) | unstable | `H J ` | | | @MichaHoffmann -[properties](https://github.com/ObserverOfTime/tree-sitter-properties)[^properties] | stable | `H JL` | | | @ObserverOfTime -[proto](https://github.com/treywood/tree-sitter-proto) | | `HF ` | | | @treywood -[prql](https://github.com/PRQL/tree-sitter-prql) | | `H J ` | | | @matthias-Q -[psv](https://github.com/amaanq/tree-sitter-csv) | stable | `H ` | | | @amaanq -[pug](https://github.com/zealot128/tree-sitter-pug) | unstable | `H J ` | | | @zealot128 -[puppet](https://github.com/amaanq/tree-sitter-puppet) | | `HFIJL` | | | @amaanq +[poe_filter](https://github.com/ObserverOfTime/tree-sitter-poe-filter)[^poe_filter] | unsupported | `HFIJ ` | | | @ObserverOfTime +[pony](https://github.com/amaanq/tree-sitter-pony) | core | `HFIJL` | | | @amaanq, @mfelsche +[printf](https://github.com/ObserverOfTime/tree-sitter-printf) | core | `H ` | | | @ObserverOfTime +[prisma](https://github.com/victorhqc/tree-sitter-prisma) | community | `HF ` | | | @elianiva +[promql](https://github.com/MichaHoffmann/tree-sitter-promql) | unsupported | `H J ` | | | @MichaHoffmann +[properties](https://github.com/ObserverOfTime/tree-sitter-properties)[^properties] | core | `H JL` | | | @ObserverOfTime +[proto](https://github.com/treywood/tree-sitter-proto) | community | `HF ` | | | @treywood +[prql](https://github.com/PRQL/tree-sitter-prql) | core | `H J ` | | | @matthias-Q +[psv](https://github.com/amaanq/tree-sitter-csv) | core | `H ` | | | @amaanq +[pug](https://github.com/zealot128/tree-sitter-pug) | unsupported | `H J ` | | | @zealot128 +[puppet](https://github.com/amaanq/tree-sitter-puppet) | core | `HFIJL` | | | @amaanq [purescript](https://github.com/postsolar/tree-sitter-purescript) | community | `H JL` | | | @postsolar -[pymanifest](https://github.com/ObserverOfTime/tree-sitter-pymanifest) | stable | `H J ` | | | @ObserverOfTime -[python](https://github.com/tree-sitter/tree-sitter-python) | | `HFIJL` | | | @stsewd, @theHamsta -[ql](https://github.com/tree-sitter/tree-sitter-ql) | | `HFIJL` | | | @pwntester -[qmldir](https://github.com/Decodetalkers/tree-sitter-qmldir) | | `H J ` | | | @amaanq -[qmljs](https://github.com/yuja/tree-sitter-qmljs) | | `HF J ` | | | @Decodetalkers -[query](https://github.com/nvim-treesitter/tree-sitter-query)[^query] | core | `HFIJL` | | | @steelsojka -[r](https://github.com/r-lib/tree-sitter-r) | | `H IJL` | | | @echasnovski -[racket](https://github.com/6cdh/tree-sitter-racket) | unstable | `HF J ` | | | -[rasi](https://github.com/Fymyte/tree-sitter-rasi) | | `HFIJL` | | | @Fymyte +[pymanifest](https://github.com/ObserverOfTime/tree-sitter-pymanifest) | core | `H J ` | | | @ObserverOfTime +[python](https://github.com/tree-sitter/tree-sitter-python) | stable | `HFIJL` | | | @stsewd, @theHamsta +[ql](https://github.com/tree-sitter/tree-sitter-ql) | community | `HFIJL` | | | @pwntester +[qmldir](https://github.com/Decodetalkers/tree-sitter-qmldir) | core | `H J ` | | | @amaanq +[qmljs](https://github.com/yuja/tree-sitter-qmljs) | community | `HF J ` | | | @Decodetalkers +[query](https://github.com/nvim-treesitter/tree-sitter-query)[^query] | stable | `HFIJL` | | | @steelsojka +[r](https://github.com/r-lib/tree-sitter-r) | community | `H IJL` | | | @echasnovski +[racket](https://github.com/6cdh/tree-sitter-racket) | unsupported | `HF J ` | | | +[rasi](https://github.com/Fymyte/tree-sitter-rasi) | community | `HFIJL` | | | @Fymyte [rbs](https://github.com/joker1007/tree-sitter-rbs) | community | `HFIJ ` | | | @joker1007 -[re2c](https://github.com/amaanq/tree-sitter-re2c) | stable | `HFIJL` | | | @amaanq +[re2c](https://github.com/amaanq/tree-sitter-re2c) | core | `HFIJL` | | | @amaanq [readline](https://github.com/ribru17/tree-sitter-readline) | community | `HFIJ ` | | | @ribru17 -[regex](https://github.com/tree-sitter/tree-sitter-regex) | | `H ` | | | @theHamsta -[rego](https://github.com/FallenAngel97/tree-sitter-rego) | | `H J ` | | | @FallenAngel97 -[requirements](https://github.com/ObserverOfTime/tree-sitter-requirements) | stable | `H J ` | | | @ObserverOfTime -[rnoweb](https://github.com/bamonroe/tree-sitter-rnoweb) | | `HF J ` | | | @bamonroe +[regex](https://github.com/tree-sitter/tree-sitter-regex) | stable | `H ` | | | @theHamsta +[rego](https://github.com/FallenAngel97/tree-sitter-rego) | community | `H J ` | | | @FallenAngel97 +[requirements](https://github.com/ObserverOfTime/tree-sitter-requirements) | core | `H J ` | | | @ObserverOfTime +[rnoweb](https://github.com/bamonroe/tree-sitter-rnoweb) | community | `HF J ` | | | @bamonroe [robot](https://github.com/Hubro/tree-sitter-robot) | community | `HFI ` | | | @Hubro [roc](https://github.com/nat-418/tree-sitter-roc) | community | `H JL` | | | @nat-418 -[ron](https://github.com/amaanq/tree-sitter-ron) | | `HFIJL` | | | @amaanq -[rst](https://github.com/stsewd/tree-sitter-rst) | | `H JL` | | | @stsewd -[ruby](https://github.com/tree-sitter/tree-sitter-ruby) | | `HFIJL` | | | @TravonteD -[rust](https://github.com/tree-sitter/tree-sitter-rust) | | `HFIJL` | | | @amaanq -[scala](https://github.com/tree-sitter/tree-sitter-scala) | | `HF JL` | | | @stevanmilic +[ron](https://github.com/amaanq/tree-sitter-ron) | core | `HFIJL` | | | @amaanq +[rst](https://github.com/stsewd/tree-sitter-rst) | core | `H JL` | | | @stsewd +[ruby](https://github.com/tree-sitter/tree-sitter-ruby) | community | `HFIJL` | | | @TravonteD +[rust](https://github.com/tree-sitter/tree-sitter-rust) | core | `HFIJL` | | | @amaanq +[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 -[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 -[slang](https://github.com/theHamsta/tree-sitter-slang)[^slang] | unstable | `HFIJL` | | ✓ | @theHamsta +[slang](https://github.com/theHamsta/tree-sitter-slang)[^slang] | unsupported | `HFIJL` | | ✓ | @theHamsta [slint](https://github.com/slint-ui/tree-sitter-slint) | community | `HFIJL` | | | @hunger -[smali](https://github.com/tree-sitter-grammars/tree-sitter-smali) | community | `HFIJL` | | | @amaanq -[smithy](https://github.com/indoorvivants/tree-sitter-smithy) | | `H ` | | | @amaanq, @keynmol -[snakemake](https://github.com/osthomas/tree-sitter-snakemake) | unstable | `HFIJL` | | | -[solidity](https://github.com/JoranHonig/tree-sitter-solidity) | | `HF ` | | | @amaanq +[smali](https://github.com/tree-sitter-grammars/tree-sitter-smali) | core | `HFIJL` | | | @amaanq +[smithy](https://github.com/indoorvivants/tree-sitter-smithy) | core | `H ` | | | @amaanq, @keynmol +[snakemake](https://github.com/osthomas/tree-sitter-snakemake) | unsupported | `HFIJL` | | | +[solidity](https://github.com/JoranHonig/tree-sitter-solidity) | core | `HF ` | | | @amaanq [soql](https://github.com/aheber/tree-sitter-sfapex) | community | `H ` | | | @aheber -[sosl](https://github.com/aheber/tree-sitter-sfapex) | | `H ` | | | @aheber +[sosl](https://github.com/aheber/tree-sitter-sfapex) | community | `H ` | | | @aheber [sourcepawn](https://github.com/nilshelmig/tree-sitter-sourcepawn) | community | `H JL` | | | @Sarrus1 -[sparql](https://github.com/BonaBeavis/tree-sitter-sparql) | | `HFIJL` | | | @BonaBeavis -[sql](https://github.com/derekstride/tree-sitter-sql) | | `H IJ ` | | | @derekstride -[squirrel](https://github.com/amaanq/tree-sitter-squirrel) | | `HFIJL` | | | @amaanq -[ssh_config](https://github.com/ObserverOfTime/tree-sitter-ssh-config) | stable | `HFIJL` | | | @ObserverOfTime -[starlark](https://github.com/amaanq/tree-sitter-starlark) | | `HFIJL` | | | @amaanq -[strace](https://github.com/sigmaSd/tree-sitter-strace) | stable | `H J ` | | | @amaanq +[sparql](https://github.com/BonaBeavis/tree-sitter-sparql) | community | `HFIJL` | | | @BonaBeavis +[sql](https://github.com/derekstride/tree-sitter-sql) | community | `H IJ ` | | | @derekstride +[squirrel](https://github.com/amaanq/tree-sitter-squirrel) | core | `HFIJL` | | | @amaanq +[ssh_config](https://github.com/ObserverOfTime/tree-sitter-ssh-config) | core | `HFIJL` | | | @ObserverOfTime +[starlark](https://github.com/amaanq/tree-sitter-starlark) | core | `HFIJL` | | | @amaanq +[strace](https://github.com/sigmaSd/tree-sitter-strace) | core | `H J ` | | | @amaanq [styled](https://github.com/mskelton/tree-sitter-styled) | community | `HFIJ ` | | | @mskelton -[supercollider](https://github.com/madskjeldgaard/tree-sitter-supercollider) | | `HFIJL` | | | @madskjeldgaard -[surface](https://github.com/connorlay/tree-sitter-surface) | | `HFIJ ` | | | @connorlay -[svelte](https://github.com/tree-sitter-grammars/tree-sitter-svelte) | stable | `HFIJL` | | | @amaanq -[swift](https://github.com/alex-pinkus/tree-sitter-swift) | | `H I L` | ✓ | | @alex-pinkus -[sxhkdrc](https://github.com/RaafatTurki/tree-sitter-sxhkdrc) | | `HF J ` | | | @RaafatTurki +[supercollider](https://github.com/madskjeldgaard/tree-sitter-supercollider) | community | `HFIJL` | | | @madskjeldgaard +[surface](https://github.com/connorlay/tree-sitter-surface) | community | `HFIJ ` | | | @connorlay +[svelte](https://github.com/tree-sitter-grammars/tree-sitter-svelte) | core | `HFIJL` | | | @amaanq +[swift](https://github.com/alex-pinkus/tree-sitter-swift) | community | `H I L` | ✓ | | @alex-pinkus +[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 [t32](https://gitlab.com/xasc/tree-sitter-t32.git) | community | `HFIJL` | | | @xasc -[tablegen](https://github.com/amaanq/tree-sitter-tablegen) | | `HFIJL` | | | @amaanq -[tcl](https://github.com/tree-sitter-grammars/tree-sitter-tcl) | stable | `HFI ` | | | @lewis6991 -[teal](https://github.com/euclidianAce/tree-sitter-teal) | | `HFIJL` | ✓ | | @euclidianAce +[tablegen](https://github.com/amaanq/tree-sitter-tablegen) | core | `HFIJL` | | | @amaanq +[tcl](https://github.com/tree-sitter-grammars/tree-sitter-tcl) | core | `HFI ` | | | @lewis6991 +[teal](https://github.com/euclidianAce/tree-sitter-teal) | community | `HFIJL` | ✓ | | @euclidianAce [templ](https://github.com/vrischmann/tree-sitter-templ) | community | `H J ` | | | @vrischmann [terraform](https://github.com/MichaHoffmann/tree-sitter-hcl) | community | `HFIJ ` | | | @MichaHoffmann [textproto](https://github.com/PorterAtGoogle/tree-sitter-textproto) | community | `HFI ` | | | @Porter -[thrift](https://github.com/duskmoon314/tree-sitter-thrift) | | `HFIJL` | | | @amaanq, @duskmoon314 -[tiger](https://github.com/ambroisie/tree-sitter-tiger) | | `HFIJL` | | | @ambroisie -[tlaplus](https://github.com/tlaplus-community/tree-sitter-tlaplus) | | `HF JL` | | | @ahelwer, @susliko +[thrift](https://github.com/duskmoon314/tree-sitter-thrift) | core | `HFIJL` | | | @amaanq, @duskmoon314 +[tiger](https://github.com/ambroisie/tree-sitter-tiger) | community | `HFIJL` | | | @ambroisie +[tlaplus](https://github.com/tlaplus-community/tree-sitter-tlaplus) | community | `HF JL` | | | @ahelwer, @susliko [tmux](https://github.com/Freed-Wu/tree-sitter-tmux) | community | `H J ` | | | @Freed-Wu -[todotxt](https://github.com/arnarg/tree-sitter-todotxt.git) | unstable | `H ` | | | @arnarg -[toml](https://github.com/tree-sitter-grammars/tree-sitter-toml) | | `HFIJL` | | ✓ | @tk-shirasaka -[tsv](https://github.com/amaanq/tree-sitter-csv) | stable | `H ` | | | @amaanq -[tsx](https://github.com/tree-sitter/tree-sitter-typescript) | | `HFIJL` | | ✓ | @steelsojka -[turtle](https://github.com/BonaBeavis/tree-sitter-turtle) | | `HFIJL` | | | @BonaBeavis -[twig](https://github.com/gbprod/tree-sitter-twig) | | `H J ` | | | @gbprod -[typescript](https://github.com/tree-sitter/tree-sitter-typescript) | | `HFIJL` | | ✓ | @steelsojka +[todotxt](https://github.com/arnarg/tree-sitter-todotxt.git) | unsupported | `H ` | | | @arnarg +[toml](https://github.com/tree-sitter-grammars/tree-sitter-toml) | community | `HFIJL` | | ✓ | @tk-shirasaka +[tsv](https://github.com/amaanq/tree-sitter-csv) | core | `H ` | | | @amaanq +[tsx](https://github.com/tree-sitter/tree-sitter-typescript) | core | `HFIJL` | | ✓ | @steelsojka +[turtle](https://github.com/BonaBeavis/tree-sitter-turtle) | community | `HFIJL` | | | @BonaBeavis +[twig](https://github.com/gbprod/tree-sitter-twig) | community | `H J ` | | | @gbprod +[typescript](https://github.com/tree-sitter/tree-sitter-typescript) | core | `HFIJL` | | ✓ | @steelsojka [typoscript](https://github.com/Teddytrombone/tree-sitter-typoscript) | community | `HFIJ ` | | | @Teddytrombone [typst](https://github.com/uben0/tree-sitter-typst) | community | `HFIJ ` | | | @uben0, @RaafatTurki -[udev](https://github.com/ObserverOfTime/tree-sitter-udev) | stable | `H JL` | | | @ObserverOfTime -[ungrammar](https://github.com/Philipp-M/tree-sitter-ungrammar) | | `HFIJL` | | | @Philipp-M, @amaanq -[unison](https://github.com/kylegoetz/tree-sitter-unison) | unstable | `H J ` | ✓ | | @tapegram -[usd](https://github.com/ColinKennedy/tree-sitter-usd) | | `HFI L` | | | @ColinKennedy -[uxntal](https://github.com/amaanq/tree-sitter-uxntal) | | `HFIJL` | | | @amaanq -[v](https://github.com/vlang/v-analyzer) | | `HFIJL` | | | @kkharji, @amaanq -[vala](https://github.com/vala-lang/tree-sitter-vala) | | `HF ` | | | @Prince781 +[udev](https://github.com/ObserverOfTime/tree-sitter-udev) | core | `H JL` | | | @ObserverOfTime +[ungrammar](https://github.com/Philipp-M/tree-sitter-ungrammar) | community | `HFIJL` | | | @Philipp-M, @amaanq +[unison](https://github.com/kylegoetz/tree-sitter-unison) | unsupported | `H J ` | ✓ | | @tapegram +[usd](https://github.com/ColinKennedy/tree-sitter-usd) | community | `HFI L` | | | @ColinKennedy +[uxntal](https://github.com/amaanq/tree-sitter-uxntal) | core | `HFIJL` | | | @amaanq +[v](https://github.com/vlang/v-analyzer) | community | `HFIJL` | | | @kkharji, @amaanq +[vala](https://github.com/vala-lang/tree-sitter-vala) | community | `HF ` | | | @Prince781 [vento](https://github.com/ventojs/tree-sitter-vento) | community | `H J ` | | | @wrapperup, @oscarotero -[verilog](https://github.com/tree-sitter/tree-sitter-verilog) | | `HF JL` | | | @zegervdv -[vhs](https://github.com/charmbracelet/tree-sitter-vhs) | | `H ` | | | @caarlos0 -[vim](https://github.com/neovim/tree-sitter-vim) | core | `HF JL` | | | @clason -[vimdoc](https://github.com/neovim/tree-sitter-vimdoc) | core | `H J ` | | | @clason -[vue](https://github.com/tree-sitter-grammars/tree-sitter-vue) | stable | `HFIJ ` | | | @WhyNotHugo, @lucario387 -[wgsl](https://github.com/szebniok/tree-sitter-wgsl) | | `HFI ` | | | @szebniok -[wgsl_bevy](https://github.com/theHamsta/tree-sitter-wgsl-bevy) | | `HFI ` | | ✓ | @theHamsta +[verilog](https://github.com/tree-sitter/tree-sitter-verilog) | community | `HF JL` | | | @zegervdv +[vhs](https://github.com/charmbracelet/tree-sitter-vhs) | community | `H ` | | | @caarlos0 +[vim](https://github.com/neovim/tree-sitter-vim) | stable | `HF JL` | | | @clason +[vimdoc](https://github.com/neovim/tree-sitter-vimdoc) | stable | `H J ` | | | @clason +[vue](https://github.com/tree-sitter-grammars/tree-sitter-vue) | core | `HFIJ ` | | | @WhyNotHugo, @lucario387 +[wgsl](https://github.com/szebniok/tree-sitter-wgsl) | community | `HFI ` | | | @szebniok +[wgsl_bevy](https://github.com/theHamsta/tree-sitter-wgsl-bevy) | core | `HFI ` | | ✓ | @theHamsta [wing](https://github.com/winglang/tree-sitter-wing) | community | `HF L` | | | @gshpychka, @MarkMcCulloh [wit](https://github.com/liamwh/tree-sitter-wit) | community | `H J ` | | | @liamwh -[xcompose](https://github.com/ObserverOfTime/tree-sitter-xcompose) | stable | `H JL` | | | @ObserverOfTime -[xml](https://github.com/tree-sitter-grammars/tree-sitter-xml) | stable | `HFIJL` | | | @ObserverOfTime -[yaml](https://github.com/tree-sitter-grammars/tree-sitter-yaml) | stable | `HFIJL` | | | @amaanq -[yang](https://github.com/Hubro/tree-sitter-yang) | | `HFIJ ` | | | @Hubro -[yuck](https://github.com/Philipp-M/tree-sitter-yuck) | | `HFIJL` | | | @Philipp-M, @amaanq +[xcompose](https://github.com/ObserverOfTime/tree-sitter-xcompose) | core | `H JL` | | | @ObserverOfTime +[xml](https://github.com/tree-sitter-grammars/tree-sitter-xml) | core | `HFIJL` | | | @ObserverOfTime +[yaml](https://github.com/tree-sitter-grammars/tree-sitter-yaml) | core | `HFIJL` | | | @amaanq +[yang](https://github.com/Hubro/tree-sitter-yang) | community | `HFIJ ` | | | @Hubro +[yuck](https://github.com/Philipp-M/tree-sitter-yuck) | community | `HFIJL` | | | @Philipp-M, @amaanq [zathurarc](https://github.com/Freed-Wu/tree-sitter-zathurarc) | community | `H J ` | | | @Freed-Wu -[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 [^gdscript]: Godot -[^git_config]: git_config [^glimmer]: Glimmer and Ember [^godot_resource]: Godot Resources [^html_tags]: queries required by html, astro, vue, svelte @@ -4,16 +4,15 @@ This document lists the planned and finished changes in this rewrite towards [Nv ## TODO -- [ ] **`query_predicates.lua`:** upstream/remove -- [ ] **`parsers.lua`:** assign tiers -- [ ] **`parsers.lua`:** modularize? - [ ] **`locals.lua`:** move to `nvim-treesitter-refactor`? +- [ ] **`parsers.lua`:** include revision? (<https://stackoverflow.com/questions/64260981>) - [ ] **update-lockfile:** allow specifying version in addition to commit hash (for Tier 1) - [ ] **update-lockfile:** one commit per parser/tier? +- [ ] **tests:** fix, update, extend (cover all Tier 1 languages) - [ ] **documentation:** consolidate, autogenerate? - [ ] **documentation:** migration guide - [ ] **textobjects:** include simple(!) function, queries? (check Helix) -- [ ] **downstream:** adapt to breaking changes (`nvim-treesitter-textobjects`, `nvim-treesitter-refactor`) +- [ ] **downstream:** adapt to breaking changes (`nvim-treesitter-refactor`) ## DONE diff --git a/lua/nvim-treesitter/config.lua b/lua/nvim-treesitter/config.lua index 5a7c8e8ec..7ffb23a46 100644 --- a/lua/nvim-treesitter/config.lua +++ b/lua/nvim-treesitter/config.lua @@ -10,7 +10,7 @@ local M = {} local config = { auto_install = false, ensure_install = {}, - ignore_install = {}, + ignore_install = { 'unsupported' }, install_dir = vim.fs.joinpath(vim.fn.stdpath('data'), 'site'), } diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua index 9f99f0cfe..11dfe1a90 100644 --- a/lua/nvim-treesitter/install.lua +++ b/lua/nvim-treesitter/install.lua @@ -95,11 +95,6 @@ local function get_target_revision(lang) lockfile = vim.json.decode(util.read_file(filename)) --[[@as table<string, LockfileInfo>]] end - local install_info = get_parser_install_info(lang) - if install_info.revision then - return install_info.revision - end - if lockfile[lang] then return lockfile[lang].revision end @@ -437,7 +432,7 @@ local function install_lang(lang, cache_dir, install_dir, force, generate_from_g logger:error('Node JS not found: `node` is not executable') 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 from_local_path = vim.fn.isdirectory(maybe_local_path) == 1 diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 7f0041e36..a057498f4 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -1,23 +1,21 @@ ---@class InstallInfo ---@field url string ---@field branch string|nil ----@field revision string|nil ---@field files string[] ---@field generate_requires_npm boolean|nil ---@field requires_generate_from_grammar boolean|nil ---@field location string|nil ---@class ParserInfo ----@field install_info InstallInfo ----@field filetype string[] ----@field maintainers string[] ----@field requires string[] ----@field tier integer|nil ----@field readme_note string|nil +---@field install_info InstallInfo? +---@field maintainers string[]? +---@field requires string[]? +---@field tier integer +---@field readme_note string|nil? local M = {} -M.tiers = { 'core', 'stable', 'community', 'unstable' } +M.tiers = { 'stable', 'core', 'community', 'unsupported' } ---@type table<string,ParserInfo> M.configs = { @@ -27,6 +25,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@briot' }, + tier = 3, }, agda = { @@ -35,6 +34,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@Decodetalkers' }, + tier = 3, }, angular = { @@ -65,6 +65,7 @@ M.configs = { }, maintainers = { '@ObserverOfTime' }, requires = { 'cpp' }, + tier = 2, }, asm = { @@ -83,6 +84,7 @@ M.configs = { }, maintainers = { '@virchau13' }, requires = { 'html', 'html_tags' }, + tier = 3, }, authzed = { @@ -99,6 +101,7 @@ M.configs = { url = 'https://github.com/Beaglefoot/tree-sitter-awk', files = { 'src/parser.c', 'src/scanner.c' }, }, + tier = 4, }, bash = { @@ -107,6 +110,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@TravonteD' }, + tier = 3, }, bass = { @@ -115,6 +119,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, beancount = { @@ -123,6 +128,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@polarmutex' }, + tier = 3, }, bibtex = { @@ -131,7 +137,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@theHamsta', '@clason' }, - tier = 3, + tier = 2, }, bicep = { @@ -140,6 +146,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, bitbake = { @@ -200,6 +207,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 3, }, cairo = { @@ -226,6 +234,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, chatito = { @@ -234,6 +243,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@ObserverOfTime' }, + tier = 2, }, circom = { @@ -251,6 +261,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@NoahTheDuke' }, + tier = 3, }, cmake = { @@ -259,6 +270,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@uyha' }, + tier = 4, }, comment = { @@ -277,6 +289,7 @@ M.configs = { generate_requires_npm = true, }, maintainers = { '@theHamsta' }, + tier = 2, }, cooklang = { @@ -303,6 +316,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, cpp = { @@ -313,6 +327,7 @@ M.configs = { }, maintainers = { '@theHamsta' }, requires = { 'c' }, + tier = 1, }, css = { @@ -321,6 +336,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@TravonteD' }, + tier = 3, }, csv = { @@ -342,6 +358,7 @@ M.configs = { }, maintainers = { '@theHamsta' }, requires = { 'cpp' }, + tier = 2, }, cue = { @@ -350,6 +367,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, cylc = { @@ -376,6 +394,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@akinsho' }, + tier = 4, }, desktop = { @@ -393,6 +412,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@jedrzejboczar' }, + tier = 3, }, dhall = { @@ -401,6 +421,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, diff = { @@ -409,6 +430,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@gbprod' }, + tier = 3, }, disassembly = { @@ -435,6 +457,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@camdencheek' }, + tier = 3, }, dot = { @@ -443,6 +466,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@rydesun' }, + tier = 3, }, doxygen = { @@ -485,7 +509,7 @@ M.configs = { ecma = { maintainers = { '@steelsojka' }, readme_note = 'queries required by javascript, typescript, tsx, qmljs', - tier = 3, + tier = 2, }, editorconfig = { @@ -512,6 +536,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@connorlay' }, + tier = 3, }, elixir = { @@ -520,6 +545,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@connorlay' }, + tier = 3, }, elm = { @@ -528,6 +554,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@zweimach' }, + tier = 4, }, elsa = { @@ -536,6 +563,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@glapa-grossklag', '@amaanq' }, + tier = 2, }, elvish = { @@ -544,6 +572,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@elves' }, + tier = 3, }, embedded_template = { @@ -569,6 +598,7 @@ M.configs = { files = { 'src/parser.c', 'src/parser.c' }, }, maintainers = { '@filmor' }, + tier = 3, }, facility = { @@ -596,6 +626,7 @@ M.configs = { generate_requires_npm = true, }, maintainers = { '@alexmozaidze' }, + tier = 3, }, fidl = { @@ -613,6 +644,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, fish = { @@ -621,6 +653,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@ram02z' }, + tier = 3, }, foam = { @@ -629,7 +662,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@FoamScience' }, - tier = 4, + tier = 3, }, forth = { @@ -647,6 +680,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, fsh = { @@ -655,6 +689,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@mgramigna' }, + tier = 3, }, fsharp = { @@ -673,6 +708,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, fusion = { @@ -681,6 +717,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@jirgn' }, + tier = 3, }, gap = { @@ -711,6 +748,7 @@ M.configs = { }, maintainers = { '@PrestonKnopp' }, readme_note = 'Godot', + tier = 3, }, gdshader = { @@ -728,6 +766,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@gbprod' }, + tier = 3, }, gitattributes = { @@ -736,6 +775,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@ObserverOfTime' }, + tier = 2, }, gitcommit = { @@ -744,6 +784,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@gbprod' }, + tier = 3, }, git_config = { @@ -752,7 +793,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, - readme_note = 'git_config', + tier = 2, }, gitignore = { @@ -761,6 +802,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@theHamsta' }, + tier = 2, }, gleam = { @@ -769,6 +811,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, glimmer = { @@ -778,6 +821,7 @@ M.configs = { }, maintainers = { '@NullVoxPopuli' }, readme_note = 'Glimmer and Ember', + tier = 3, }, glimmer_javascript = { @@ -810,6 +854,7 @@ M.configs = { }, maintainers = { '@theHamsta' }, requires = { 'c' }, + tier = 2, }, gn = { @@ -837,6 +882,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@theHamsta', '@WinWisely268' }, + tier = 1, }, goctl = { @@ -855,6 +901,7 @@ M.configs = { }, maintainers = { '@pierpo' }, readme_note = 'Godot Resources', + tier = 3, }, gomod = { @@ -863,6 +910,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@camdencheek' }, + tier = 3, }, gosum = { @@ -871,6 +919,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, gowork = { @@ -879,6 +928,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@omertuc' }, + tier = 3, }, graphql = { @@ -887,6 +937,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@bkegley' }, + tier = 3, }, gotmpl = { @@ -948,6 +999,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, haskell = { @@ -964,8 +1016,8 @@ M.configs = { url = 'https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent', files = { 'src/parser.c', 'src/scanner.c' }, }, - filetype = 'haskell.persistent', maintainers = { '@lykahb' }, + tier = 3, }, hcl = { @@ -974,6 +1026,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@MichaHoffmann' }, + tier = 3, }, heex = { @@ -982,6 +1035,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@connorlay' }, + tier = 3, }, helm = { @@ -1002,6 +1056,7 @@ M.configs = { }, maintainers = { '@winston0410' }, requires = { 'json' }, + tier = 3, }, hlsl = { @@ -1012,6 +1067,7 @@ M.configs = { }, maintainers = { '@theHamsta' }, requires = { 'cpp' }, + tier = 2, }, hlsplaylist = { @@ -1030,6 +1086,7 @@ M.configs = { generate_requires_npm = true, }, maintainers = { '@antosha417' }, + tier = 4, }, hoon = { @@ -1044,6 +1101,7 @@ M.configs = { html_tags = { maintainers = { '@TravonteD' }, readme_note = 'queries required by html, astro, vue, svelte', + tier = 3, }, html = { @@ -1053,6 +1111,7 @@ M.configs = { }, maintainers = { '@TravonteD' }, requires = { 'html_tags' }, + tier = 3, }, htmldjango = { @@ -1070,6 +1129,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq', '@NTBBloodbath' }, + tier = 2, }, hurl = { @@ -1143,6 +1203,7 @@ M.configs = { }, maintainers = { '@fab4100' }, requires = { 'c' }, + tier = 3, }, janet_simple = { @@ -1151,6 +1212,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@sogaiu' }, + tier = 3, }, java = { @@ -1159,6 +1221,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@p00f' }, + tier = 3, }, javadoc = { @@ -1177,6 +1240,7 @@ M.configs = { }, maintainers = { '@steelsojka' }, requires = { 'ecma', 'jsx' }, + tier = 2, }, jinja = { @@ -1207,6 +1271,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@ObserverOfTime' }, + tier = 2, }, jsdoc = { @@ -1215,6 +1280,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@steelsojka' }, + tier = 2, }, json = { @@ -1223,6 +1289,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@steelsojka' }, + tier = 2, }, json5 = { @@ -1231,6 +1298,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@Joakker' }, + tier = 3, }, jsonc = { @@ -1241,6 +1309,7 @@ M.configs = { }, maintainers = { '@WhyNotHugo' }, requires = { 'json' }, + tier = 3, }, jsonnet = { @@ -1249,11 +1318,13 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@nawordar' }, + tier = 3, }, jsx = { maintainers = { '@steelsojka' }, readme_note = 'queries required by javascript, tsx', + tier = 2, }, julia = { @@ -1298,6 +1369,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, kotlin = { @@ -1306,6 +1378,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@SalBakraa' }, + tier = 3, }, koto = { @@ -1332,6 +1405,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@traxys' }, + tier = 3, }, latex = { @@ -1341,7 +1415,7 @@ M.configs = { requires_generate_from_grammar = true, }, maintainers = { '@theHamsta', '@clason' }, - tier = 3, + tier = 2, }, ledger = { @@ -1350,6 +1424,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@cbarrete' }, + tier = 3, }, leo = { @@ -1367,6 +1442,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@benwilliamgraham' }, + tier = 3, }, linkerscript = { @@ -1411,6 +1487,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, luap = { @@ -1420,6 +1497,7 @@ M.configs = { }, maintainers = { '@amaanq' }, readme_note = 'Lua patterns', + tier = 2, }, luau = { @@ -1429,6 +1507,7 @@ M.configs = { }, maintainers = { '@amaanq' }, requires = { 'lua' }, + tier = 2, }, m68k = { @@ -1437,6 +1516,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@grahambates' }, + tier = 3, }, make = { @@ -1445,6 +1525,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@lewis6991' }, + tier = 2, }, markdown = { @@ -1476,6 +1557,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@acristoffers' }, + tier = 3, }, menhir = { @@ -1484,6 +1566,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@Kerl13' }, + tier = 3, }, mermaid = { @@ -1500,6 +1583,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@Decodetalkers' }, + tier = 3, }, mlir = { @@ -1572,6 +1656,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@alemuller' }, + tier = 3, }, nix = { @@ -1580,6 +1665,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@leo60228' }, + tier = 3, }, nqc = { @@ -1607,6 +1693,7 @@ M.configs = { }, maintainers = { '@amaanq' }, requires = { 'c' }, + tier = 2, }, objdump = { @@ -1625,6 +1712,7 @@ M.configs = { location = 'grammars/ocaml', }, maintainers = { '@undu' }, + tier = 3, }, ocaml_interface = { @@ -1635,6 +1723,7 @@ M.configs = { }, maintainers = { '@undu' }, requires = { 'ocaml' }, + tier = 3, }, ocamllex = { @@ -1644,6 +1733,7 @@ M.configs = { requires_generate_from_grammar = true, }, maintainers = { '@undu' }, + tier = 3, }, odin = { @@ -1652,6 +1742,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, pascal = { @@ -1660,6 +1751,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@Isopod' }, + tier = 3, }, passwd = { @@ -1668,6 +1760,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 3, }, pem = { @@ -1686,6 +1779,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@RabbiVeesh', '@LeoNerd' }, + tier = 3, }, php = { @@ -1697,6 +1791,7 @@ M.configs = { maintainers = { '@tk-shirasaka', '@calebdw' }, requires = { 'php_only' }, readme_note = 'PHP with embedded HTML', + tier = 3, }, php_only = { @@ -1707,6 +1802,7 @@ M.configs = { }, maintainers = { '@tk-shirasaka', '@calebdw' }, readme_note = 'PHP without embedded HTML', + tier = 3, }, phpdoc = { @@ -1725,6 +1821,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@leo60228' }, + tier = 3, }, po = { @@ -1733,6 +1830,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, pod = { @@ -1761,6 +1859,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq', '@mfelsche' }, + tier = 2, }, powershell = { @@ -1788,6 +1887,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@elianiva' }, + tier = 3, }, problog = { @@ -1827,6 +1927,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@treywood' }, + tier = 3, }, promql = { @@ -1844,6 +1945,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@matthias-Q' }, + tier = 2, }, psv = { @@ -1872,6 +1974,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, purescript = { @@ -1899,6 +2002,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@stsewd', '@theHamsta' }, + tier = 1, }, ql = { @@ -1907,6 +2011,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@pwntester' }, + tier = 3, }, qmldir = { @@ -1915,6 +2020,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, qmljs = { @@ -1924,6 +2030,7 @@ M.configs = { }, maintainers = { '@Decodetalkers' }, requires = { 'ecma' }, + tier = 3, }, query = { @@ -1968,6 +2075,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@Fymyte' }, + tier = 3, }, razor = { @@ -2012,6 +2120,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@theHamsta' }, + tier = 1, }, rego = { @@ -2020,6 +2129,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@FallenAngel97' }, + tier = 3, }, requirements = { @@ -2047,6 +2157,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@bamonroe' }, + tier = 3, }, robot = { @@ -2082,6 +2193,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, rst = { @@ -2090,6 +2202,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@stsewd' }, + tier = 2, }, ruby = { @@ -2098,6 +2211,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@TravonteD' }, + tier = 3, }, runescript = { @@ -2115,6 +2229,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, scala = { @@ -2123,6 +2238,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@stevanmilic' }, + tier = 3, }, scfg = { @@ -2198,7 +2314,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, - tier = 3, + tier = 2, }, snakemake = { @@ -2216,6 +2332,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq', '@keynmol' }, + tier = 2, }, solidity = { @@ -2224,7 +2341,9 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, + soql = { install_info = { url = 'https://github.com/aheber/tree-sitter-sfapex', @@ -2242,6 +2361,7 @@ M.configs = { location = 'sosl', }, maintainers = { '@aheber', '@xixiafinland' }, + tier = 3, }, sourcepawn = { @@ -2259,6 +2379,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@GordianDziwis' }, + tier = 3, }, sql = { @@ -2268,6 +2389,7 @@ M.configs = { branch = 'gh-pages', }, maintainers = { '@derekstride' }, + tier = 3, }, squirrel = { @@ -2276,6 +2398,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, ssh_config = { @@ -2293,6 +2416,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, strace = { @@ -2319,6 +2443,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@madskjeldgaard' }, + tier = 3, }, superhtml = { @@ -2337,6 +2462,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@connorlay' }, + tier = 3, }, svelte = { @@ -2365,6 +2491,7 @@ M.configs = { requires_generate_from_grammar = true, }, maintainers = { '@alex-pinkus' }, + tier = 3, }, sxhkdrc = { @@ -2373,6 +2500,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@RaafatTurki' }, + tier = 3, }, systemtap = { @@ -2399,6 +2527,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, tact = { @@ -2417,6 +2546,7 @@ M.configs = { requires_generate_from_grammar = true, }, maintainers = { '@euclidianAce' }, + tier = 3, }, templ = { @@ -2472,6 +2602,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@amaanq', '@duskmoon314' }, + tier = 2, }, tiger = { @@ -2480,6 +2611,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@ambroisie' }, + tier = 3, }, tlaplus = { @@ -2488,6 +2620,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@ahelwer', '@susliko' }, + tier = 3, }, tmux = { @@ -2515,6 +2648,7 @@ M.configs = { generate_requires_npm = true, }, maintainers = { '@tk-shirasaka' }, + tier = 3, }, tsv = { @@ -2536,6 +2670,7 @@ M.configs = { }, maintainers = { '@steelsojka' }, requires = { 'ecma', 'jsx', 'typescript' }, + tier = 2, }, turtle = { @@ -2544,6 +2679,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@GordianDziwis' }, + tier = 3, }, twig = { @@ -2552,6 +2688,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@gbprod' }, + tier = 3, }, typescript = { @@ -2563,6 +2700,7 @@ M.configs = { }, maintainers = { '@steelsojka' }, requires = { 'ecma' }, + tier = 2, }, typespec = { @@ -2607,6 +2745,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@Philipp-M', '@amaanq' }, + tier = 3, }, unison = { @@ -2625,6 +2764,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@ColinKennedy' }, + tier = 3, }, uxntal = { @@ -2633,6 +2773,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@amaanq' }, + tier = 2, }, v = { @@ -2642,6 +2783,7 @@ M.configs = { location = 'tree_sitter_v', }, maintainers = { '@kkharji', '@amaanq' }, + tier = 3, }, vala = { @@ -2650,6 +2792,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@Prince781' }, + tier = 3, }, vento = { @@ -2667,6 +2810,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@zhangwwpeng' }, + tier = 3, }, vhdl = { @@ -2684,6 +2828,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@caarlos0' }, + tier = 3, }, vim = { @@ -2739,6 +2884,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@szebniok' }, + tier = 3, }, wgsl_bevy = { @@ -2748,6 +2894,7 @@ M.configs = { generate_requires_npm = true, }, maintainers = { '@theHamsta' }, + tier = 2, }, wit = { @@ -2803,6 +2950,7 @@ M.configs = { files = { 'src/parser.c' }, }, maintainers = { '@Hubro' }, + tier = 3, }, yuck = { @@ -2811,6 +2959,7 @@ M.configs = { files = { 'src/parser.c', 'src/scanner.c' }, }, maintainers = { '@Philipp-M', '@amaanq' }, + tier = 3, }, zathurarc = { diff --git a/scripts/update-lockfile.lua b/scripts/update-lockfile.lua index e07cf416f..0c9288b6a 100755 --- a/scripts/update-lockfile.lua +++ b/scripts/update-lockfile.lua @@ -4,7 +4,7 @@ local util = require('nvim-treesitter.util') -- Load previous lockfile 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}> local new_lockfile = {} @@ -15,9 +15,10 @@ local jobs = {} --- @type table<string,SystemObj> -- check for new revisions 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) - else + elseif p.install_info then jobs[k] = vim.system({ 'git', 'ls-remote', p.install_info.url }) end |
