diff options
| -rw-r--r-- | .github/workflows/test-queries.yml | 27 | ||||
| -rw-r--r-- | .github/workflows/tests.yml | 14 | ||||
| -rw-r--r-- | README.md | 40 | ||||
| -rw-r--r-- | SUPPORTED_LANGUAGES.md | 569 | ||||
| -rw-r--r-- | TODO.md | 5 | ||||
| -rw-r--r-- | lua/nvim-treesitter/_meta/parsers.lua | 3 | ||||
| -rw-r--r-- | lua/nvim-treesitter/config.lua | 9 | ||||
| -rw-r--r-- | lua/nvim-treesitter/health.lua | 125 | ||||
| -rw-r--r-- | lua/nvim-treesitter/install.lua | 185 | ||||
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 346 | ||||
| -rw-r--r-- | plugin/filetypes.lua | 2 | ||||
| -rwxr-xr-x | scripts/convert-lockfile.lua | 1 | ||||
| -rwxr-xr-x | scripts/update-readme.lua | 9 |
13 files changed, 440 insertions, 895 deletions
diff --git a/.github/workflows/test-queries.yml b/.github/workflows/test-queries.yml index 3b1717791..819924c43 100644 --- a/.github/workflows/test-queries.yml +++ b/.github/workflows/test-queries.yml @@ -23,34 +23,11 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-14] - cc: [gcc, clang] nvim_tag: [nightly] - exclude: - - os: ubuntu-latest - cc: clang - nvim_tag: nightly - - - os: macos-14 - cc: gcc - nvim_tag: nightly - - - os: windows-latest - cc: gcc - nvim_tag: nightly - - # include: - # - os: windows-latest - # cc: cl - # nvim_tag: nightly - - # - os: ubuntu-latest - # cc: gcc - # nvim_tag: nightly name: Parser compilation runs-on: ${{ matrix.os }} env: - CC: ${{ matrix.cc }} NVIM: ${{ matrix.os == 'windows-latest' && 'nvim-win64\\bin\\nvim.exe' || 'nvim' }} steps: - uses: actions/checkout@v4 @@ -71,10 +48,8 @@ jobs: ~/.local/share/nvim/site/parser/ ~/AppData/Local/nvim-data/site/parser/ key: parsers-${{ join(matrix.*, '-') }}-${{ hashFiles( - './lockfile.json', './lua/nvim-treesitter/install.lua', - './lua/nvim-treesitter/parsers.lua', - './lua/nvim-treesitter/shell_command_selectors.lua') }} + './lua/nvim-treesitter/parsers.lua') }} - name: Compile parsers run: $NVIM -l ./scripts/install-parsers.lua diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f78afe711..7a946377c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -20,12 +20,9 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - cc: [gcc] name: Run tests runs-on: ${{ matrix.os }} - env: - CC: ${{ matrix.cc }} steps: - uses: actions/checkout@v4 - uses: tree-sitter/setup-action/cli@v1 @@ -50,16 +47,13 @@ jobs: uses: actions/cache@v4 with: path: | - ./parser/ - ~/AppData/Local/nvim/pack/nvim-treesitter/start/nvim-treesitter/parser/ + ~/.local/share/nvim/site/parser/ + ~/AppData/Local/nvim-data/site/parser/ key: parsers-${{ join(matrix.*, '-') }}-${{ hashFiles( - './lockfile.json', './lua/nvim-treesitter/install.lua', - './lua/nvim-treesitter/parsers.lua', - './lua/nvim-treesitter/shell_selectors.lua') }} + './lua/nvim-treesitter/parsers.lua') }} - - name: Compile parsers Unix like - if: ${{ runner.os != 'Windows' && steps.parsers-cache.outputs.cache-hit != 'true' }} + - name: Compile parsers run: nvim -l ./scripts/install-parsers.lua - name: Tests @@ -17,7 +17,7 @@ # WARNING -**This branch is a [full, incompatible, rewrite of `nvim-treesitter`](https://github.com/nvim-treesitter/nvim-treesitter/issues/4767) and [work in progress](TODO.md). This branch REQUIRES (the latest commit on) Neovim `master`.** +**This branch is a [full, incompatible, rewrite of `nvim-treesitter`](https://github.com/nvim-treesitter/nvim-treesitter/issues/4767) and [work in progress](TODO.md).** The **stable** branch is [`master`](https://github.com/nvim-treesitter/nvim-treesitter/tree/master). The `nvim-treesitter` plugin provides 1. functions for installing, updating, and removing [**tree-sitter parsers**](SUPPORTED_LANGUAGES.md); @@ -29,14 +29,14 @@ The `nvim-treesitter` plugin provides - Neovim 0.10.0 or later (nightly) - `tar` and `curl` in your path (or alternatively `git`) -- a C compiler in your path and libstdc++ installed ([Windows users please read this!](https://github.com/nvim-treesitter/nvim-treesitter/wiki/Windows-support)) -- optional: `tree-sitter` CLI and `node` +- [`tree-sitter`](https://github.com/tree-sitter/tree-sitter) CLI (0.22.6 or later) +- a C compiler in your path (see <https://docs.rs/cc/latest/cc/#compile-time-requirements>) ## Installation You can install `nvim-treesitter` with your favorite package manager (or using the native `package` feature of vim, see `:h packages`). -**NOTE: This plugin is only guaranteed to work with specific versions of language parsers** (as specified in the `lockfile.json`). **When upgrading the plugin, you must make sure that all installed parsers are updated to the latest version** via `:TSUpdate`. +**NOTE: This plugin is only guaranteed to work with specific versions of language parsers** (as specified in the `parser.lua` table). **When upgrading the plugin, you must make sure that all installed parsers are updated to the latest version** via `:TSUpdate`. It is strongly recommended to automate this; e.g., using [lazy.nvim](https://github.com/folke/lazy.nvim) ```lua @@ -195,14 +195,6 @@ vim.fn.stdpath('data') .. 'site/queries/zimbu' Before doing anything, make sure you have the latest version of this plugin and run `:checkhealth nvim-treesitter`. It can also help to update the parsers via `:TSUpdate`. -#### Feature `{X}` does not work for `{language}`... - -1. Check the `nvim-treesitter` section of `:checkhealth` for any warning, and make sure that the query for `{X}` is listed for `{language}`. - -2. Ensure that the feature is enabled as explained above. - -3. Ensure Neovim is correctly identifying your language's filetype using the `:echo &filetype` command while one of your language's files is open in Neovim. - #### I get `Error detected while processing .../plugin/nvim-treesitter.vim` every time I open Neovim This is probably due to a change in a parser's grammar or its queries. @@ -221,30 +213,6 @@ or due to an outdated parser. If you get more than one path, remove the ones that are outside this plugin (`nvim-treesitter` directory), so the correct version of the parser is used. -#### I want to use Git instead of curl for downloading the parsers - -In your Lua config: - -```lua -require("nvim-treesitter.install").prefer_git = true -``` - -#### I want to use a HTTP proxy for downloading the parsers - -You can either configure curl to use additional CLI arguments in your Lua config: - -```lua -require("nvim-treesitter.install").command_extra_args = { - curl = { "--proxy", "<proxy url>" }, -} -``` - -or you can configure git via `.gitconfig` and use git instead of curl - -```lua -require("nvim-treesitter.install").prefer_git = true -``` - #### I want to use a mirror instead of "https://github.com/" In your Lua config: diff --git a/SUPPORTED_LANGUAGES.md b/SUPPORTED_LANGUAGES.md index d2ba24468..1c72c9ba9 100644 --- a/SUPPORTED_LANGUAGES.md +++ b/SUPPORTED_LANGUAGES.md @@ -4,293 +4,296 @@ The following is a list of languages for which a parser can be installed through Legend: - **Tier:** _stable_, _core_, _community_, or _unsupported_ -- **CLI:** `:TSInstall` requires `tree-sitter` CLI installed - **Queries** available for **H**ighlights, **I**ndents, **F**olds, In**J**ections, **L**ocals +- **Maintainer** of queries in nvim-treesitter (may be different from parser maintainer!) <!--This section of the README is automatically updated by a CI job--> <!--parserinfo--> -Language | Tier | Queries | CLI | Maintainer --------- |:----:|:-------:|:---:| ---------- -[ada](https://github.com/briot/tree-sitter-ada) | community | `HF L` | | @briot -[agda](https://github.com/tree-sitter/tree-sitter-agda) | core | `HF ` | | @Decodetalkers -[angular](https://github.com/dlvandenberg/tree-sitter-angular) | community | `HFIJL` | | @dlvandenberg -[apex](https://github.com/aheber/tree-sitter-sfapex) | community | `HF L` | | @aheber -[arduino](https://github.com/tree-sitter-grammars/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) | community | `HFIJL` | | @virchau13 -[authzed](https://github.com/mleonidas/tree-sitter-authzed) | community | `H J ` | | @mattpolzin -[awk](https://github.com/Beaglefoot/tree-sitter-awk) | unsupported | `H J ` | | -[bash](https://github.com/tree-sitter/tree-sitter-bash) | stable | `HF JL` | | @TravonteD -[bass](https://github.com/vito/tree-sitter-bass) | community | `HFIJL` | | @amaanq -[beancount](https://github.com/polarmutex/tree-sitter-beancount) | community | `HF J ` | | @polarmutex -[bibtex](https://github.com/latex-lsp/tree-sitter-bibtex) | community | `HFI ` | | @theHamsta, @clason -[bicep](https://github.com/tree-sitter-grammars/tree-sitter-bicep) | core | `HFIJL` | | @amaanq -[bitbake](https://github.com/tree-sitter-grammars/tree-sitter-bitbake) | core | `HFIJL` | | @amaanq -[blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint) | 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) | core | `HF JL` | | @amaanq -[cairo](https://github.com/tree-sitter-grammars/tree-sitter-cairo) | core | `HFIJL` | | @amaanq -[capnp](https://github.com/tree-sitter-grammars/tree-sitter-capnp) | core | `HFIJL` | | @amaanq -[chatito](https://github.com/tree-sitter-grammars/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) | community | `HFI ` | | @uyha -[comment](https://github.com/stsewd/tree-sitter-comment) | community | `H ` | | @stsewd -[commonlisp](https://github.com/tree-sitter-grammars/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/tree-sitter-grammars/tree-sitter-cpon) | core | `HFIJL` | | @amaanq -[cpp](https://github.com/tree-sitter/tree-sitter-cpp) | core | `HFIJL` | | @theHamsta -[css](https://github.com/tree-sitter/tree-sitter-css) | core | `HFIJ ` | | @TravonteD -[csv](https://github.com/tree-sitter-grammars/tree-sitter-csv) | core | `H ` | | @amaanq -[cuda](https://github.com/tree-sitter-grammars/tree-sitter-cuda) | core | `HFIJL` | | @theHamsta -[cue](https://github.com/eonpatapon/tree-sitter-cue) | community | `HFIJL` | | @amaanq -[d](https://github.com/gdamore/tree-sitter-d) | community | `HFIJL` | | @amaanq -[dart](https://github.com/UserNobody14/tree-sitter-dart) | community | `HFIJL` | | @akinsho -[devicetree](https://github.com/joelspadin/tree-sitter-devicetree) | community | `HFIJL` | | @jedrzejboczar -[dhall](https://github.com/jbellerb/tree-sitter-dhall) | community | `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) | community | `H J ` | | @camdencheek -[dot](https://github.com/rydesun/tree-sitter-dot) | community | `H IJ ` | | @rydesun -[doxygen](https://github.com/tree-sitter-grammars/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) | community | `H ` | | @RubixDev -ecma (queries only)[^ecma] | community | `HFIJL` | | @steelsojka -[eds](https://github.com/uyha/tree-sitter-eds) | community | `HF ` | | @uyha -[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) | community | `H J ` | | @zweimach -[elsa](https://github.com/glapa-grossklag/tree-sitter-elsa) | community | `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) | community | `HF JL` | | @alexmozaidze -[fidl](https://github.com/google/tree-sitter-fidl) | community | `HF J ` | | @chaopeng -[firrtl](https://github.com/tree-sitter-grammars/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) | community | `HFIJL` | | @amaanq -[fortran](https://github.com/stadelmanma/tree-sitter-fortran) | community | `HFI ` | | @amaanq -[fsh](https://github.com/mgramigna/tree-sitter-fsh) | community | `H ` | | @mgramigna -[func](https://github.com/tree-sitter-grammars/tree-sitter-func) | core | `H ` | | @amaanq -[fusion](https://gitlab.com/jirgn/tree-sitter-fusion) | 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) | community | `HF J ` | | @amaanq -[git_rebase](https://github.com/the-mikedavis/tree-sitter-git-rebase) | community | `H J ` | | @gbprod -[gitattributes](https://github.com/tree-sitter-grammars/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) | community | `H ` | | @theHamsta -[gleam](https://github.com/gleam-lang/tree-sitter-gleam) | community | `HFIJL` | | @amaanq -[glimmer](https://github.com/alexlafroscia/tree-sitter-glimmer)[^glimmer] | community | `HFI L` | | @NullVoxPopuli -[glsl](https://github.com/tree-sitter-grammars/tree-sitter-glsl) | core | `HFIJL` | | @theHamsta -[gn](https://github.com/tree-sitter-grammars/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) | core | `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/tree-sitter-grammars/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) | community | `H J ` | | @omertuc -[gpg](https://github.com/tree-sitter-grammars/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/tree-sitter-grammars/tree-sitter-gstlaunch) | core | `H ` | | @theHamsta -[hack](https://github.com/slackhq/tree-sitter-hack) | unsupported | `H ` | | -[hare](https://github.com/tree-sitter-grammars/tree-sitter-hare) | core | `HFIJL` | | @amaanq -[haskell](https://github.com/tree-sitter/tree-sitter-haskell) | core | `HF JL` | | @mrcjkb -[haskell_persistent](https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent) | community | `HF ` | | @lykahb -[hcl](https://github.com/tree-sitter-grammars/tree-sitter-hcl) | core | `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) | community | `HFIJL` | | @winston0410 -[hlsl](https://github.com/tree-sitter-grammars/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) | unsupported | `HF J ` | | @antosha417 -[hoon](https://github.com/urbit-pilled/tree-sitter-hoon) | community | `HF L` | | @urbit-pilled -[html](https://github.com/tree-sitter/tree-sitter-html) | core | `HFIJL` | | @TravonteD -html_tags (queries only)[^html_tags] | community | `H IJ ` | | @TravonteD -[htmldjango](https://github.com/interdependence/tree-sitter-htmldjango) | community | `HFIJ ` | | @ObserverOfTime -[http](https://github.com/rest-nvim/tree-sitter-http) | community | `H J ` | | @amaanq, @NTBBloodbath -[hurl](https://github.com/pfeiferj/tree-sitter-hurl) | community | `HFIJ ` | | @pfeiferj -[hyprlang](https://github.com/tree-sitter-grammars/tree-sitter-hyprlang) | core | `HFIJ ` | | @luckasRanarison -[idl](https://github.com/cathaysia/tree-sitter-idl) | community | `H J ` | | @cathaysa -[ini](https://github.com/justinmk/tree-sitter-ini) | community | `HF ` | | @theHamsta -[inko](https://github.com/inko-lang/tree-sitter-inko) | community | `HFIJL` | | @yorickpeterse -[ispc](https://github.com/tree-sitter-grammars/tree-sitter-ispc) | core | `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) | core | `HFIJL` | | @p00f -[javascript](https://github.com/tree-sitter/tree-sitter-javascript) | core | `HFIJL` | | @steelsojka -[jq](https://github.com/flurie/tree-sitter-jq) | community | `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) | community | `HFIJL` | | @WhyNotHugo -[jsonnet](https://github.com/sourcegraph/tree-sitter-jsonnet) | community | `HF L` | | @nawordar -jsx (queries only)[^jsx] | community | `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/tree-sitter-grammars/tree-sitter-kconfig) | core | `HFIJL` | | @amaanq -[kdl](https://github.com/tree-sitter-grammars/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) | community | `HF JL` | | @traxys -[latex](https://github.com/latex-lsp/tree-sitter-latex) | community | `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/tree-sitter-grammars/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) | community | `H ` | | @benwilliamgraham -[lua](https://github.com/tree-sitter-grammars/tree-sitter-lua) | stable | `HFIJL` | | @muniftanjim -[luadoc](https://github.com/tree-sitter-grammars/tree-sitter-luadoc) | core | `H ` | | @amaanq -[luap](https://github.com/tree-sitter-grammars/tree-sitter-luap)[^luap] | core | `H ` | | @amaanq -[luau](https://github.com/tree-sitter-grammars/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) | community | `HF J ` | | @lewis6991 -[markdown](https://github.com/tree-sitter-grammars/tree-sitter-markdown)[^markdown] | stable | `HFIJ ` | | @MDeiml -[markdown_inline](https://github.com/tree-sitter-grammars/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/tree-sitter-grammars/tree-sitter-meson) | core | `HFIJ ` | | @Decodetalkers -[mlir](https://github.com/artagnon/tree-sitter-mlir) | community | `H L` | ✓ | @artagnon -[muttrc](https://github.com/neomutt/tree-sitter-muttrc) | community | `H J ` | | @Freed-Wu -[nasm](https://github.com/naclsn/tree-sitter-nasm) | community | `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) | community | `HFI ` | | @alemuller -[nix](https://github.com/cstrahan/tree-sitter-nix) | community | `HF JL` | | @leo60228 -[nqc](https://github.com/tree-sitter-grammars/tree-sitter-nqc) | core | `HFIJL` | | @amaanq -[objc](https://github.com/tree-sitter-grammars/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) | core | `HFIJL` | | @undu -[ocaml_interface](https://github.com/tree-sitter/tree-sitter-ocaml) | core | `HFIJL` | | @undu -[ocamllex](https://github.com/atom-ocaml/tree-sitter-ocamllex) | community | `H J ` | ✓ | @undu -[odin](https://github.com/tree-sitter-grammars/tree-sitter-odin) | core | `HFIJL` | | @amaanq -[org](https://github.com/milisims/tree-sitter-org) | unsupported | ` ` | | -[pascal](https://github.com/Isopod/tree-sitter-pascal) | community | `HFIJL` | | @Isopod -[passwd](https://github.com/ath3/tree-sitter-passwd) | community | `H ` | | @amaanq -[pem](https://github.com/tree-sitter-grammars/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] | core | `HFIJL` | | @tk-shirasaka -[php_only](https://github.com/tree-sitter/tree-sitter-php)[^php_only] | core | `HFIJL` | | @tk-shirasaka -[phpdoc](https://github.com/claytonrcarter/tree-sitter-phpdoc) | community | `H ` | | @mikehaertl -[pioasm](https://github.com/leo60228/tree-sitter-pioasm) | community | `H J ` | | @leo60228 -[po](https://github.com/tree-sitter-grammars/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/tree-sitter-grammars/tree-sitter-poe-filter)[^poe_filter] | core | `HFIJ ` | | @ObserverOfTime -[pony](https://github.com/tree-sitter-grammars/tree-sitter-pony) | core | `HFIJL` | | @amaanq, @mfelsche -[printf](https://github.com/tree-sitter-grammars/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) | community | `H J ` | | @MichaHoffmann -[properties](https://github.com/tree-sitter-grammars/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) | community | `H J ` | | @matthias-Q -[psv](https://github.com/tree-sitter-grammars/tree-sitter-csv) | core | `H ` | | @amaanq -[pug](https://github.com/zealot128/tree-sitter-pug) | community | `H J ` | | @zealot128 -[puppet](https://github.com/tree-sitter-grammars/tree-sitter-puppet) | core | `HFIJL` | | @amaanq -[purescript](https://github.com/postsolar/tree-sitter-purescript) | community | `H JL` | | @postsolar -[pymanifest](https://github.com/tree-sitter-grammars/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) | core | `HFIJL` | | @pwntester -[qmldir](https://github.com/tree-sitter-grammars/tree-sitter-qmldir) | core | `H J ` | | @amaanq -[qmljs](https://github.com/yuja/tree-sitter-qmljs) | community | `HF J ` | | @Decodetalkers -[query](https://github.com/tree-sitter-grammars/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/tree-sitter-grammars/tree-sitter-re2c) | core | `HFIJL` | | @amaanq -[readline](https://github.com/tree-sitter-grammars/tree-sitter-readline) | core | `HFIJ ` | | @ribru17 -[regex](https://github.com/tree-sitter/tree-sitter-regex) | core | `H ` | | @theHamsta -[rego](https://github.com/FallenAngel97/tree-sitter-rego) | community | `H J ` | | @FallenAngel97 -[requirements](https://github.com/tree-sitter-grammars/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/tree-sitter-grammars/tree-sitter-ron) | core | `HFIJL` | | @amaanq -[rst](https://github.com/stsewd/tree-sitter-rst) | community | `H JL` | | @stsewd -[ruby](https://github.com/tree-sitter/tree-sitter-ruby) | core | `HFIJL` | | @TravonteD -[rust](https://github.com/tree-sitter/tree-sitter-rust) | core | `HFIJL` | | @amaanq -[scala](https://github.com/tree-sitter/tree-sitter-scala) | core | `HF JL` | | @stevanmilic -[scfg](https://git.sr.ht/~rockorager/tree-sitter-scfg) | community | `H J ` | ✓ | @WhyNotHugo -[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/tree-sitter-grammars/tree-sitter-slang)[^slang] | core | `HFIJL` | | @theHamsta -[slint](https://github.com/slint-ui/tree-sitter-slint) | community | `HFIJL` | | @hunger -[smali](https://github.com/tree-sitter-grammars/tree-sitter-smali) | core | `HFIJL` | | @amaanq -[smithy](https://github.com/indoorvivants/tree-sitter-smithy) | community | `H ` | | @amaanq, @keynmol -[snakemake](https://github.com/osthomas/tree-sitter-snakemake) | community | `HFIJL` | | @osthomas -[solidity](https://github.com/JoranHonig/tree-sitter-solidity) | community | `HF ` | | @amaanq -[soql](https://github.com/aheber/tree-sitter-sfapex) | community | `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) | community | `HFIJL` | | @BonaBeavis -[sql](https://github.com/derekstride/tree-sitter-sql) | community | `H IJ ` | | @derekstride -[squirrel](https://github.com/tree-sitter-grammars/tree-sitter-squirrel) | core | `HFIJL` | | @amaanq -[ssh_config](https://github.com/tree-sitter-grammars/tree-sitter-ssh-config) | core | `HFIJL` | | @ObserverOfTime -[starlark](https://github.com/tree-sitter-grammars/tree-sitter-starlark) | core | `HFIJL` | | @amaanq -[strace](https://github.com/sigmaSd/tree-sitter-strace) | community | `H J ` | | @amaanq -[styled](https://github.com/mskelton/tree-sitter-styled) | community | `HFIJ ` | | @mskelton -[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) | community | `HFIJL` | | @xasc -[tablegen](https://github.com/tree-sitter-grammars/tree-sitter-tablegen) | core | `HFIJL` | | @amaanq -[tact](https://github.com/tact-lang/tree-sitter-tact) | community | `HFIJL` | | @novusnota -[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/tree-sitter-grammars/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) | community | `H ` | | @arnarg -[toml](https://github.com/tree-sitter-grammars/tree-sitter-toml) | core | `HFIJL` | | @tk-shirasaka -[tsv](https://github.com/tree-sitter-grammars/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 -[typespec](https://github.com/happenslol/tree-sitter-typespec) | community | `H IJ ` | | @happenslol -[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/tree-sitter-grammars/tree-sitter-udev) | core | `H JL` | | @ObserverOfTime -[ungrammar](https://github.com/tree-sitter-grammars/tree-sitter-ungrammar) | core | `HFIJL` | | @Philipp-M, @amaanq -[unison](https://github.com/kylegoetz/tree-sitter-unison) | community | `H J ` | ✓ | @tapegram -[usd](https://github.com/ColinKennedy/tree-sitter-usd) | community | `HFI L` | | @ColinKennedy -[uxntal](https://github.com/tree-sitter-grammars/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) | core | `HF JL` | | @zegervdv -[vhs](https://github.com/charmbracelet/tree-sitter-vhs) | community | `H ` | | @caarlos0 -[vim](https://github.com/tree-sitter-grammars/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/tree-sitter-grammars/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/tree-sitter-grammars/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/tree-sitter-grammars/tree-sitter-yuck) | core | `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) | community | `HFIJL` | | @maxxnino +Language | Tier | Queries | Maintainer +-------- |:----:|:-------:| ---------- +[ada](https://github.com/briot/tree-sitter-ada) | community | `HF JL` | @briot +[agda](https://github.com/tree-sitter/tree-sitter-agda) | core | `HF J ` | @Decodetalkers +[angular](https://github.com/dlvandenberg/tree-sitter-angular) | community | `HFIJL` | @dlvandenberg +[apex](https://github.com/aheber/tree-sitter-sfapex) | community | `HF JL` | @aheber +[arduino](https://github.com/tree-sitter-grammars/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) | community | `HFIJL` | @virchau13 +[authzed](https://github.com/mleonidas/tree-sitter-authzed) | community | `H J ` | @mattpolzin +[awk](https://github.com/Beaglefoot/tree-sitter-awk) | unsupported | `H J ` | +[bash](https://github.com/tree-sitter/tree-sitter-bash) | stable | `HF JL` | @TravonteD +[bass](https://github.com/vito/tree-sitter-bass) | community | `HFIJL` | @amaanq +[beancount](https://github.com/polarmutex/tree-sitter-beancount) | community | `HF J ` | @polarmutex +[bibtex](https://github.com/latex-lsp/tree-sitter-bibtex) | community | `HFIJ ` | @theHamsta, @clason +[bicep](https://github.com/tree-sitter-grammars/tree-sitter-bicep) | core | `HFIJL` | @amaanq +[bitbake](https://github.com/tree-sitter-grammars/tree-sitter-bitbake) | core | `HFIJL` | @amaanq +[blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint) | unsupported | `H J ` | @gabmus +[bp](https://github.com/ambroisie/tree-sitter-bp)[^bp] | community | `HFIJL` | @ambroisie +[c](https://github.com/tree-sitter/tree-sitter-c) | stable | `HFIJL` | @amaanq +[c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) | core | `HF JL` | @amaanq +[cairo](https://github.com/tree-sitter-grammars/tree-sitter-cairo) | core | `HFIJL` | @amaanq +[capnp](https://github.com/tree-sitter-grammars/tree-sitter-capnp) | core | `HFIJL` | @amaanq +[chatito](https://github.com/tree-sitter-grammars/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) | community | `HFIJ ` | @uyha +[comment](https://github.com/stsewd/tree-sitter-comment) | community | `H ` | @stsewd +[commonlisp](https://github.com/tree-sitter-grammars/tree-sitter-commonlisp) | core | `HF JL` | @theHamsta +[cooklang](https://github.com/addcninblue/tree-sitter-cooklang) | community | `H J ` | @addcninblue +[corn](https://github.com/jakestanger/tree-sitter-corn) | community | `HFIJL` | @jakestanger +[cpon](https://github.com/tree-sitter-grammars/tree-sitter-cpon) | core | `HFIJL` | @amaanq +[cpp](https://github.com/tree-sitter/tree-sitter-cpp) | core | `HFIJL` | @theHamsta +[css](https://github.com/tree-sitter/tree-sitter-css) | core | `HFIJ ` | @TravonteD +[csv](https://github.com/tree-sitter-grammars/tree-sitter-csv) | core | `H ` | @amaanq +[cuda](https://github.com/tree-sitter-grammars/tree-sitter-cuda) | core | `HFIJL` | @theHamsta +[cue](https://github.com/eonpatapon/tree-sitter-cue) | community | `HFIJL` | @amaanq +[d](https://github.com/gdamore/tree-sitter-d) | community | `HFIJL` | @amaanq +[dart](https://github.com/UserNobody14/tree-sitter-dart) | community | `HFIJL` | @akinsho +[devicetree](https://github.com/joelspadin/tree-sitter-devicetree) | community | `HFIJL` | @jedrzejboczar +[dhall](https://github.com/jbellerb/tree-sitter-dhall) | community | `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) | community | `H J ` | @camdencheek +[dot](https://github.com/rydesun/tree-sitter-dot) | community | `H IJ ` | @rydesun +[doxygen](https://github.com/tree-sitter-grammars/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) | community | `H J ` | @RubixDev +ecma (queries only)[^ecma] | community | `HFIJL` | @steelsojka +[eds](https://github.com/uyha/tree-sitter-eds) | community | `HF ` | @uyha +[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) | community | `H J ` | @zweimach +[elsa](https://github.com/glapa-grossklag/tree-sitter-elsa) | community | `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 J ` | @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) | community | `HF JL` | @alexmozaidze +[fidl](https://github.com/google/tree-sitter-fidl) | community | `HF J ` | @chaopeng +[firrtl](https://github.com/tree-sitter-grammars/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) | community | `HFIJL` | @amaanq +[fortran](https://github.com/stadelmanma/tree-sitter-fortran) | community | `HFIJ ` | @amaanq +[fsh](https://github.com/mgramigna/tree-sitter-fsh) | community | `H J ` | @mgramigna +[func](https://github.com/tree-sitter-grammars/tree-sitter-func) | core | `H J ` | @amaanq +[fusion](https://gitlab.com/jirgn/tree-sitter-fusion) | community | `HFIJL` | @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) | community | `HF J ` | @amaanq +[git_rebase](https://github.com/the-mikedavis/tree-sitter-git-rebase) | community | `H J ` | @gbprod +[gitattributes](https://github.com/tree-sitter-grammars/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) | community | `H J ` | @theHamsta +[gleam](https://github.com/gleam-lang/tree-sitter-gleam) | community | `HFIJL` | @amaanq +[glimmer](https://github.com/alexlafroscia/tree-sitter-glimmer)[^glimmer] | community | `HFIJL` | @NullVoxPopuli +[glsl](https://github.com/tree-sitter-grammars/tree-sitter-glsl) | core | `HFIJL` | @theHamsta +[gn](https://github.com/tree-sitter-grammars/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) | core | `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/tree-sitter-grammars/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) | community | `H J ` | @omertuc +[gpg](https://github.com/tree-sitter-grammars/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/tree-sitter-grammars/tree-sitter-gstlaunch) | core | `H ` | @theHamsta +[hack](https://github.com/slackhq/tree-sitter-hack) | unsupported | `H J ` | +[hare](https://github.com/tree-sitter-grammars/tree-sitter-hare) | core | `HFIJL` | @amaanq +[haskell](https://github.com/tree-sitter/tree-sitter-haskell) | core | `HF JL` | @mrcjkb +[haskell_persistent](https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent) | community | `HF ` | @lykahb +[hcl](https://github.com/tree-sitter-grammars/tree-sitter-hcl) | core | `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) | community | `HFIJL` | @winston0410 +[hlsl](https://github.com/tree-sitter-grammars/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) | unsupported | `HF J ` | @antosha417 +[hoon](https://github.com/urbit-pilled/tree-sitter-hoon) | community | `HF JL` | @urbit-pilled +[html](https://github.com/tree-sitter/tree-sitter-html) | core | `HFIJL` | @TravonteD +html_tags (queries only)[^html_tags] | community | `H IJ ` | @TravonteD +[htmldjango](https://github.com/interdependence/tree-sitter-htmldjango) | community | `HFIJ ` | @ObserverOfTime +[http](https://github.com/rest-nvim/tree-sitter-http) | community | `H J ` | @amaanq, @NTBBloodbath +[hurl](https://github.com/pfeiferj/tree-sitter-hurl) | community | `HFIJ ` | @pfeiferj +[hyprlang](https://github.com/tree-sitter-grammars/tree-sitter-hyprlang) | core | `HFIJ ` | @luckasRanarison +[idl](https://github.com/cathaysia/tree-sitter-idl) | community | `H J ` | @cathaysa +[ini](https://github.com/justinmk/tree-sitter-ini) | community | `HF ` | @theHamsta +[inko](https://github.com/inko-lang/tree-sitter-inko) | community | `HFIJL` | @yorickpeterse +[ispc](https://github.com/tree-sitter-grammars/tree-sitter-ispc) | core | `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) | core | `HFIJL` | @p00f +[javascript](https://github.com/tree-sitter/tree-sitter-javascript) | core | `HFIJL` | @steelsojka +[jq](https://github.com/flurie/tree-sitter-jq) | community | `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) | community | `HFIJL` | @WhyNotHugo +[jsonnet](https://github.com/sourcegraph/tree-sitter-jsonnet) | community | `HF JL` | @nawordar +jsx (queries only)[^jsx] | community | `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/tree-sitter-grammars/tree-sitter-kconfig) | core | `HFIJL` | @amaanq +[kdl](https://github.com/tree-sitter-grammars/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) | community | `HF JL` | @traxys +[latex](https://github.com/latex-lsp/tree-sitter-latex) | community | `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/tree-sitter-grammars/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 | `HFIJL` | @toots +[llvm](https://github.com/benwilliamgraham/tree-sitter-llvm) | community | `H J ` | @benwilliamgraham +[lua](https://github.com/tree-sitter-grammars/tree-sitter-lua) | stable | `HFIJL` | @muniftanjim +[luadoc](https://github.com/tree-sitter-grammars/tree-sitter-luadoc) | core | `H ` | @amaanq +[luap](https://github.com/tree-sitter-grammars/tree-sitter-luap)[^luap] | core | `H ` | @amaanq +[luau](https://github.com/tree-sitter-grammars/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) | community | `HF J ` | @lewis6991 +[markdown](https://github.com/tree-sitter-grammars/tree-sitter-markdown)[^markdown] | stable | `HFIJ ` | @MDeiml +[markdown_inline](https://github.com/tree-sitter-grammars/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 J ` | +[meson](https://github.com/tree-sitter-grammars/tree-sitter-meson) | core | `HFIJ ` | @Decodetalkers +[mlir](https://github.com/artagnon/tree-sitter-mlir) | community | `H JL` | @artagnon +[muttrc](https://github.com/neomutt/tree-sitter-muttrc) | community | `H J ` | @Freed-Wu +[nasm](https://github.com/naclsn/tree-sitter-nasm) | community | `H J ` | @ObserverOfTime +[nickel](https://github.com/nickel-lang/tree-sitter-nickel) | unsupported | `H IJ ` | +[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) | community | `HFIJ ` | @alemuller +[nix](https://github.com/cstrahan/tree-sitter-nix) | community | `HF JL` | @leo60228 +[nqc](https://github.com/tree-sitter-grammars/tree-sitter-nqc) | core | `HFIJL` | @amaanq +[objc](https://github.com/tree-sitter-grammars/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) | core | `HFIJL` | @undu +[ocaml_interface](https://github.com/tree-sitter/tree-sitter-ocaml) | core | `HFIJL` | @undu +[ocamllex](https://github.com/atom-ocaml/tree-sitter-ocamllex) | community | `H J ` | @undu +[odin](https://github.com/tree-sitter-grammars/tree-sitter-odin) | core | `HFIJL` | @amaanq +[org](https://github.com/milisims/tree-sitter-org) | unsupported | ` ` | +[pascal](https://github.com/Isopod/tree-sitter-pascal) | community | `HFIJL` | @Isopod +[passwd](https://github.com/ath3/tree-sitter-passwd) | community | `H ` | @amaanq +[pem](https://github.com/tree-sitter-grammars/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] | core | `HFIJL` | @tk-shirasaka +[php_only](https://github.com/tree-sitter/tree-sitter-php)[^php_only] | core | `HFIJL` | @tk-shirasaka +[phpdoc](https://github.com/claytonrcarter/tree-sitter-phpdoc) | community | `H ` | @mikehaertl +[pioasm](https://github.com/leo60228/tree-sitter-pioasm) | community | `H J ` | @leo60228 +[po](https://github.com/tree-sitter-grammars/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/tree-sitter-grammars/tree-sitter-poe-filter)[^poe_filter] | core | `HFIJ ` | @ObserverOfTime +[pony](https://github.com/tree-sitter-grammars/tree-sitter-pony) | core | `HFIJL` | @amaanq, @mfelsche +[printf](https://github.com/tree-sitter-grammars/tree-sitter-printf) | core | `H ` | @ObserverOfTime +[prisma](https://github.com/victorhqc/tree-sitter-prisma) | community | `HF J ` | @elianiva +[promql](https://github.com/MichaHoffmann/tree-sitter-promql) | community | `H J ` | @MichaHoffmann +[properties](https://github.com/tree-sitter-grammars/tree-sitter-properties)[^properties] | core | `H JL` | @ObserverOfTime +[proto](https://github.com/treywood/tree-sitter-proto) | community | `HF J ` | @treywood +[prql](https://github.com/PRQL/tree-sitter-prql) | community | `H J ` | @matthias-Q +[psv](https://github.com/tree-sitter-grammars/tree-sitter-csv) | core | `H ` | @amaanq +[pug](https://github.com/zealot128/tree-sitter-pug) | community | `H J ` | @zealot128 +[puppet](https://github.com/tree-sitter-grammars/tree-sitter-puppet) | core | `HFIJL` | @amaanq +[purescript](https://github.com/postsolar/tree-sitter-purescript) | community | `H JL` | @postsolar +[pymanifest](https://github.com/tree-sitter-grammars/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) | core | `HFIJL` | @pwntester +[qmldir](https://github.com/tree-sitter-grammars/tree-sitter-qmldir) | core | `H J ` | @amaanq +[qmljs](https://github.com/yuja/tree-sitter-qmljs) | community | `HF J ` | @Decodetalkers +[query](https://github.com/tree-sitter-grammars/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 ` | +[ralph](https://github.com/alephium/tree-sitter-ralph) | community | `H J ` | @tdroxler +[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/tree-sitter-grammars/tree-sitter-re2c) | core | `HFIJL` | @amaanq +[readline](https://github.com/tree-sitter-grammars/tree-sitter-readline) | core | `HFIJ ` | @ribru17 +[regex](https://github.com/tree-sitter/tree-sitter-regex) | core | `H ` | @theHamsta +[rego](https://github.com/FallenAngel97/tree-sitter-rego) | community | `H J ` | @FallenAngel97 +[requirements](https://github.com/tree-sitter-grammars/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 | `HFIJ ` | @Hubro +[roc](https://github.com/faldor20/tree-sitter-roc) | community | `H JL` | @nat-418 +[ron](https://github.com/tree-sitter-grammars/tree-sitter-ron) | core | `HFIJL` | @amaanq +[rst](https://github.com/stsewd/tree-sitter-rst) | community | `H JL` | @stsewd +[ruby](https://github.com/tree-sitter/tree-sitter-ruby) | core | `HFIJL` | @TravonteD +[rust](https://github.com/tree-sitter/tree-sitter-rust) | core | `HFIJL` | @amaanq +[scala](https://github.com/tree-sitter/tree-sitter-scala) | core | `HF JL` | @stevanmilic +[scfg](https://git.sr.ht/~rockorager/tree-sitter-scfg) | unsupported | `H J ` | @WhyNotHugo +[scheme](https://github.com/6cdh/tree-sitter-scheme) | unsupported | `HF J ` | +[scss](https://github.com/serenadeai/tree-sitter-scss) | community | `HFIJ ` | @elianiva +[slang](https://github.com/tree-sitter-grammars/tree-sitter-slang)[^slang] | core | `HFIJL` | @theHamsta +[slint](https://github.com/slint-ui/tree-sitter-slint) | community | `HFIJL` | @hunger +[smali](https://github.com/tree-sitter-grammars/tree-sitter-smali) | core | `HFIJL` | @amaanq +[smithy](https://github.com/indoorvivants/tree-sitter-smithy) | community | `H J ` | @amaanq, @keynmol +[snakemake](https://github.com/osthomas/tree-sitter-snakemake) | community | `HFIJL` | @osthomas +[solidity](https://github.com/JoranHonig/tree-sitter-solidity) | community | `HF J ` | @amaanq +[soql](https://github.com/aheber/tree-sitter-sfapex) | community | `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) | community | `HFIJL` | @BonaBeavis +[sql](https://github.com/derekstride/tree-sitter-sql) | community | `H IJ ` | @derekstride +[squirrel](https://github.com/tree-sitter-grammars/tree-sitter-squirrel) | core | `HFIJL` | @amaanq +[ssh_config](https://github.com/tree-sitter-grammars/tree-sitter-ssh-config) | core | `HFIJL` | @ObserverOfTime +[starlark](https://github.com/tree-sitter-grammars/tree-sitter-starlark) | core | `HFIJL` | @amaanq +[strace](https://github.com/sigmaSd/tree-sitter-strace) | community | `H J ` | @amaanq +[styled](https://github.com/mskelton/tree-sitter-styled) | community | `HFIJ ` | @mskelton +[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 IJL` | @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) | community | `HFIJL` | @xasc +[tablegen](https://github.com/tree-sitter-grammars/tree-sitter-tablegen) | core | `HFIJL` | @amaanq +[tact](https://github.com/tact-lang/tree-sitter-tact) | community | `HFIJL` | @novusnota +[tcl](https://github.com/tree-sitter-grammars/tree-sitter-tcl) | core | `HFIJ ` | @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 | `HFIJ ` | @Porter +[thrift](https://github.com/tree-sitter-grammars/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) | community | `H ` | @arnarg +[toml](https://github.com/tree-sitter-grammars/tree-sitter-toml) | core | `HFIJL` | @tk-shirasaka +[tsv](https://github.com/tree-sitter-grammars/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 +[typespec](https://github.com/happenslol/tree-sitter-typespec) | community | `H IJ ` | @happenslol +[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/tree-sitter-grammars/tree-sitter-udev) | core | `H JL` | @ObserverOfTime +[ungrammar](https://github.com/tree-sitter-grammars/tree-sitter-ungrammar) | core | `HFIJL` | @Philipp-M, @amaanq +[unison](https://github.com/kylegoetz/tree-sitter-unison) | community | `H J ` | @tapegram +[usd](https://github.com/ColinKennedy/tree-sitter-usd) | community | `HFIJL` | @ColinKennedy +[uxntal](https://github.com/tree-sitter-grammars/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 J ` | @Prince781 +[vento](https://github.com/ventojs/tree-sitter-vento) | community | `H J ` | @wrapperup, @oscarotero +[verilog](https://github.com/tree-sitter/tree-sitter-verilog) | core | `HF JL` | @zegervdv +[vhs](https://github.com/charmbracelet/tree-sitter-vhs) | community | `H J ` | @caarlos0 +[vim](https://github.com/tree-sitter-grammars/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 | `HFIJ ` | @szebniok +[wgsl_bevy](https://github.com/tree-sitter-grammars/tree-sitter-wgsl-bevy) | core | `HFI ` | @theHamsta +[wing](https://github.com/winglang/tree-sitter-wing) | community | `HF JL` | @gshpychka, @MarkMcCulloh +[wit](https://github.com/liamwh/tree-sitter-wit) | community | `H J ` | @liamwh +[xcompose](https://github.com/tree-sitter-grammars/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/tree-sitter-grammars/tree-sitter-yuck) | core | `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) | community | `HFIJL` | @maxxnino +[^bp]: Android Blueprint [^ecma]: queries required by javascript, typescript, tsx, qmljs [^gdscript]: Godot [^glimmer]: Glimmer and Ember @@ -4,12 +4,7 @@ This document lists the planned and finished changes in this rewrite towards [Nv ## TODO -- [ ] **`parsers.lua`:** include revision (serialization at home: `vim.inspect`) - - rename `parsers` to `languages` - - rename `install_info` to `parser` - - [ ] **`parsers.lua`:** 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 diff --git a/lua/nvim-treesitter/_meta/parsers.lua b/lua/nvim-treesitter/_meta/parsers.lua index 09e4d1846..e265bf611 100644 --- a/lua/nvim-treesitter/_meta/parsers.lua +++ b/lua/nvim-treesitter/_meta/parsers.lua @@ -9,9 +9,6 @@ error('Cannot require a meta file') ---Commit hash of parser to download (compatible with queries) ---@field revision string --- ----Files to include when compiling (`src/parser.c` and optionally `src/scanner.c') ----@field files string[] ---- ---Branch of parser repo to download (if not default branch) ---@field branch? string --- diff --git a/lua/nvim-treesitter/config.lua b/lua/nvim-treesitter/config.lua index 4c662bab6..704c8e87e 100644 --- a/lua/nvim-treesitter/config.lua +++ b/lua/nvim-treesitter/config.lua @@ -104,15 +104,6 @@ function M.get_available(tier) languages ) end - if vim.fn.executable('tree-sitter') == 0 then - languages = vim.tbl_filter( - --- @param p string - function(p) - return parsers[p].install_info ~= nil and not parsers[p].install_info.generate - end, - languages - ) - end return languages end diff --git a/lua/nvim-treesitter/health.lua b/lua/nvim-treesitter/health.lua index 58ede835a..dc7078bdf 100644 --- a/lua/nvim-treesitter/health.lua +++ b/lua/nvim-treesitter/health.lua @@ -1,4 +1,3 @@ -local install = require('nvim-treesitter.install') local parsers = require('nvim-treesitter.parsers') local config = require('nvim-treesitter.config') local util = require('nvim-treesitter.util') @@ -8,82 +7,80 @@ local health = vim.health local M = {} local NVIM_TREESITTER_MINIMUM_ABI = 13 +local TREE_SITTER_MIN_VER = { 0, 22, 6 } ----@return string|nil -local function ts_cli_version() - if vim.fn.executable('tree-sitter') == 1 then - local result = assert(vim.system({ 'tree-sitter', '-V' }):wait().stdout) - return vim.split(result, '\n')[1]:match('[^tree%psitter ].*') +---@param name string +---@return table? +local function check_exe(name) + if vim.fn.executable(name) == 1 then + local path = vim.fn.exepath(name) + local out = vim.trim(vim.fn.system({ name, '--version' })) + local version = vim.version.parse(out) + return { path = path, version = version, out = out } end end local function install_health() health.start('Requirements') - if vim.fn.has('nvim-0.10') ~= 1 then - health.error('Nvim-treesitter requires Neovim Nightly') - end + do -- nvim check + if vim.fn.has('nvim-0.10') ~= 1 then + health.error('Nvim-treesitter requires the latest Neovim nightly') + end - if vim.fn.executable('tree-sitter') == 0 then - health.warn( - '`tree-sitter` executable not found (parser generator, only needed for :TSInstallFromGrammar,' - .. ' not required for :TSInstall)' - ) - else - health.ok( - '`tree-sitter` found ' - .. (ts_cli_version() or '(unknown version)') - .. ' (only needed for `:TSInstallFromGrammar`)' - ) + if vim.treesitter.language_version then + if vim.treesitter.language_version >= NVIM_TREESITTER_MINIMUM_ABI then + health.ok( + 'Neovim was compiled with tree-sitter runtime ABI version ' + .. vim.treesitter.language_version + .. ' (required >=' + .. NVIM_TREESITTER_MINIMUM_ABI + .. ').' + ) + else + health.error( + 'Neovim was compiled with tree-sitter runtime ABI version ' + .. vim.treesitter.language_version + .. '.\n' + .. 'nvim-treesitter expects at least ABI version ' + .. NVIM_TREESITTER_MINIMUM_ABI + .. '\n' + .. 'Please make sure that Neovim is linked against a recent tree-sitter library when building' + .. ' or raise an issue at your Neovim packager. Parsers must be compatible with runtime ABI.' + ) + end + end end - if vim.fn.executable('git') == 0 then - health.warn( - '`git` executable not found.', - 'Install it with your package manager and check that your `$PATH` is set correctly.' - ) - else - health.ok('`git` executable found.') + do -- treesitter check + local ts = check_exe('tree-sitter') + if ts then + if vim.version.ge(ts.version, TREE_SITTER_MIN_VER) then + health.ok(string.format('tree-sitter %s (%s)', ts.version, ts.path)) + else + health.error( + string.format('tree-sitter CLI v%d.%d.%d is required', unpack(TREE_SITTER_MIN_VER)) + ) + end + else + health.error('tree-sitter CLI not found') + end end - local cc = install.select_executable(install.compilers) - if not cc then - health.error('`cc` executable not found.', { - 'Check that any of ' - .. table.concat(install.compilers, ', ') - .. ' is in your $PATH' - .. ' or set `$CC` or `require"nvim-treesitter.install".compilers` explicitly.', - }) - else - local version = assert(vim.system({ cc, cc == 'cl' and '' or '--version' }):wait().stdout) - health.ok( - '`' - .. cc - .. '` executable found, selected from: ' - .. table.concat(install.compilers, ', ') - .. (version and ('\nVersion: ' .. version) or '') - ) - end - if vim.treesitter.language_version then - if vim.treesitter.language_version >= NVIM_TREESITTER_MINIMUM_ABI then - health.ok( - 'Neovim was compiled with tree-sitter runtime ABI version ' - .. vim.treesitter.language_version - .. ' (required >=' - .. NVIM_TREESITTER_MINIMUM_ABI - .. ').' - ) + do -- curl+tar or git check + local curl = check_exe('curl') + local tar = check_exe('tar') + + if curl and tar and vim.uv.os_uname().sysname ~= 'Windows_NT' then + health.ok(string.format('tar %s (%s)', tar.version, tar.path)) + health.ok(string.format('curl %s (%s)\n%s', curl.version, curl.path, curl.out)) else - health.error( - 'Neovim was compiled with tree-sitter runtime ABI version ' - .. vim.treesitter.language_version - .. '.\n' - .. 'nvim-treesitter expects at least ABI version ' - .. NVIM_TREESITTER_MINIMUM_ABI - .. '\n' - .. 'Please make sure that Neovim is linked against a recent tree-sitter library when building' - .. ' or raise an issue at your Neovim packager. Parsers must be compatible with runtime ABI.' - ) + local git = check_exe('git') + if git then + health.ok(string.format('git %s (%s)', git.version, git.path)) + else + health.error('Either curl and tar or git must be installed and on `$PATH`') + end end end diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua index 8b3dc82fc..ac37c7af0 100644 --- a/lua/nvim-treesitter/install.lua +++ b/lua/nvim-treesitter/install.lua @@ -23,19 +23,8 @@ local uv_symlink = a.wrap(uv.fs_symlink, 4) --- @type fun(path: string): string? local uv_unlink = a.wrap(uv.fs_unlink, 2) -local M = {} - local max_jobs = 10 -local iswin = uv.os_uname().sysname == 'Windows_NT' -local ismac = uv.os_uname().sysname == 'Darwin' - ---- @diagnostic disable-next-line:missing-parameter -M.compilers = { 'cc', 'gcc', 'clang', 'cl', 'zig' } -if uv.os_getenv('CC') then - table.insert(M.compilers, 1, uv.os_getenv('CC')) -end - local function system(cmd, opts) log.trace('running job: (cwd=%s) %s', opts.cwd, table.concat(cmd, ' ')) local r = a.wrap(vim.system, 3)(cmd, opts) --[[@as vim.SystemCompleted]] @@ -50,6 +39,10 @@ local function system(cmd, opts) return r end +local iswin = uv.os_uname().sysname == 'Windows_NT' + +local M = {} + --- --- PARSER INFO --- @@ -99,18 +92,6 @@ end --- PARSER MANAGEMENT FUNCTIONS --- -local function istring(c) - return type(c) == 'string' -end - -local function cc_err() - log.error( - 'No C compiler found! "' - .. table.concat(vim.tbl_filter(istring, M.compilers), '", "') - .. '" are not executable.' - ) -end - --- @param x string --- @return boolean local function executable(x) @@ -122,10 +103,6 @@ end --- @param compile_location string --- @return string? err local function do_generate(logger, repo, compile_location) - if not executable('tree-sitter') then - return logger:error('tree-sitter CLI not found: `tree-sitter` is not executable') - end - logger:info( string.format( 'Generating parser.c from %s...', @@ -134,7 +111,7 @@ local function do_generate(logger, repo, compile_location) ) local r = system({ - fn.exepath('tree-sitter'), + 'tree-sitter', 'generate', '--no-bindings', '--abi', @@ -232,10 +209,6 @@ end ---@param project_dir string ---@return string? err local function do_download_git(logger, repo, project_name, cache_dir, revision, project_dir) - if not executable('git') then - return logger:error('git not found!') - end - logger:info('Downloading ' .. project_name .. '...') local r = system({ @@ -266,86 +239,6 @@ local function do_download_git(logger, repo, project_name, cache_dir, revision, end end ---- @type table<string,table<string,boolean>> -local cc_args_cache = vim.defaulttable() - ---- @param cc string ---- @param arg string ---- @return boolean -local function test_cc_arg(cc, arg) - if cc_args_cache[cc][arg] == nil then - cc_args_cache[cc][arg] = system({ cc, '-xc', '-', arg }, { - stdin = 'int main(void) { return 0; }', - }).code == 0 - end - return cc_args_cache[cc][arg] -end - ----@param executables string[] ----@return string? -function M.select_executable(executables) - return vim.tbl_filter(executable, executables)[1] -end - --- Returns the compiler arguments based on the compiler and OS ----@param repo InstallInfo ----@param compiler string ----@return string[] -local function select_compiler_args(repo, compiler) - if compiler:find('cl$') or compiler:find('cl.exe$') then - return { - '/Fe:', - 'parser.so', - '/Isrc', - repo.files, - '-Os', - '/utf-8', - '/LD', - } - end - - if compiler:find('zig$') or compiler:find('zig.exe$') then - return { - 'cc', - '-o', - 'parser.so', - repo.files, - '-lc', - '-Isrc', - '-shared', - '-Os', - } - end - - local args = { - '-o', - 'parser.so', - '-I./src', - repo.files, - '-Os', - ismac and '-bundle' or '-shared', - } - - --- @param arg string - local function add_cc_arg(arg) - if test_cc_arg(compiler, arg) then - args[#args + 1] = arg - end - end - - if not iswin then - add_cc_arg('-Wall') - add_cc_arg('-Wextra') - add_cc_arg('-fPIC') - - -- Make sure we don't compile in any unresolved symbols, otherwise nvim will - -- just exit (not even crash) - add_cc_arg('-Werror=implicit-function-declaration') - end - - return args -end - ---@param repo InstallInfo ---@return boolean local function can_download_tar(repo) @@ -355,21 +248,40 @@ local function can_download_tar(repo) return can_use_tar and (is_github or is_gitlab) and not iswin end --- Returns the compile command based on the OS and user options ---@param logger Logger ----@param repo InstallInfo ----@param cc string ---@param compile_location string ---@return string? err -local function do_compile(logger, repo, cc, compile_location) - local args = vim.iter(select_compiler_args(repo, cc)):flatten():totable() - local cmd = vim.list_extend({ cc }, args) - - logger:info('Compiling parser') +local function do_compile(logger, compile_location) + logger:info(string.format('Compiling parser')) - local r = system(cmd, { cwd = compile_location }) + local r = system({ + 'tree-sitter', + 'build', + '-o', + 'parser.so', + }, { cwd = compile_location }) if r.code > 0 then - return logger:error('Error during compilation: %s', r.stderr) + return logger:error('Error during "tree-sitter build": %s', r.stderr) + end +end + +---@param logger Logger +---@param compile_location string +---@param target_location string +---@return string? err +local function do_install(logger, compile_location, target_location) + logger:info(string.format('Installing parser')) + + if iswin then -- why can't you just be normal?! + local tempfile = target_location .. tostring(uv.hrtime()) + uv_rename(target_location, tempfile) -- parser may be in use: rename... + uv_unlink(tempfile) -- ...and mark for garbage collection + end + + local err = uv_copyfile(compile_location, target_location) + a.main() + if err then + return logger:error('Error during parser installation: %s', err) end end @@ -383,12 +295,6 @@ local function install_lang0(lang, cache_dir, install_dir, generate) local repo = get_parser_install_info(lang) if repo then - local cc = M.select_executable(M.compilers) - if not cc then - cc_err() - return - end - local project_name = 'tree-sitter-' .. lang local revision = repo.revision @@ -414,7 +320,7 @@ local function install_lang0(lang, cache_dir, install_dir, generate) compile_location = fs.joinpath(compile_location, repo.location) end - do + do -- generate parser from grammar if repo.generate or generate then local err = do_generate(logger, repo, compile_location) if err then @@ -423,24 +329,25 @@ local function install_lang0(lang, cache_dir, install_dir, generate) end end - do - local err = do_compile(logger, repo, cc, compile_location) + do -- compile parser + local err = do_compile(logger, compile_location) if err then return err end end - local parser_lib_name = fs.joinpath(install_dir, lang) .. '.so' + do -- install parser + local parser_lib_name = fs.joinpath(compile_location, 'parser.so') + local install_location = fs.joinpath(install_dir, lang) .. '.so' + local err = do_install(logger, parser_lib_name, install_location) + if err then + return err + end - local err = uv_copyfile(fs.joinpath(compile_location, 'parser.so'), parser_lib_name) - a.main() - if err then - return logger:error(err) + local revfile = fs.joinpath(config.get_install_dir('parser-info') or '', lang .. '.revision') + util.write_file(revfile, revision or '') end - local revfile = fs.joinpath(config.get_install_dir('parser-info') or '', lang .. '.revision') - util.write_file(revfile, revision or '') - if not repo.path then util.delete(fs.joinpath(cache_dir, project_name)) end diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 83011c7cb..b31224d26 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -2,7 +2,6 @@ return { ada = { install_info = { - files = { 'src/parser.c' }, revision = 'e8e2515465cc2d7c444498e68bdb9f1d86767f95', url = 'https://github.com/briot/tree-sitter-ada', }, @@ -11,7 +10,6 @@ return { }, agda = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'd3dc807692e6bca671d4491b3bf5c67eeca8c016', url = 'https://github.com/tree-sitter/tree-sitter-agda', }, @@ -20,7 +18,6 @@ return { }, angular = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '10f21f3f1b10584e62ecc113ab3cda1196d0ceb8', url = 'https://github.com/dlvandenberg/tree-sitter-angular', @@ -31,7 +28,6 @@ return { }, apex = { install_info = { - files = { 'src/parser.c' }, location = 'apex', revision = 'c99ad4b16d112fea91745e3f1b769754239fdaba', url = 'https://github.com/aheber/tree-sitter-sfapex', @@ -41,7 +37,6 @@ return { }, arduino = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = 'afb34b2c65f507932c5c6ddbf0d5a9ca6a772f2f', url = 'https://github.com/tree-sitter-grammars/tree-sitter-arduino', @@ -52,7 +47,6 @@ return { }, asm = { install_info = { - files = { 'src/parser.c' }, revision = 'b0306e9bb2ebe01c6562f1aef265cc42ccc53070', url = 'https://github.com/RubixDev/tree-sitter-asm', }, @@ -61,7 +55,6 @@ return { }, astro = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '4be180759ec13651f72bacee65fa477c64222a1a', url = 'https://github.com/virchau13/tree-sitter-astro', @@ -72,7 +65,6 @@ return { }, authzed = { install_info = { - files = { 'src/parser.c' }, revision = '1dec7e1af96c56924e3322cd85fdce15d0a31d00', url = 'https://github.com/mleonidas/tree-sitter-authzed', }, @@ -81,7 +73,6 @@ return { }, awk = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'ba7472152d79a8c916550c80fdbfd5724d07a0c9', url = 'https://github.com/Beaglefoot/tree-sitter-awk', }, @@ -89,7 +80,6 @@ return { }, bash = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '2fbd860f802802ca76a6661ce025b3a3bca2d3ed', url = 'https://github.com/tree-sitter/tree-sitter-bash', }, @@ -98,7 +88,6 @@ return { }, bass = { install_info = { - files = { 'src/parser.c' }, revision = '28dc7059722be090d04cd751aed915b2fee2f89a', url = 'https://github.com/vito/tree-sitter-bass', }, @@ -107,7 +96,6 @@ return { }, beancount = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'c25f8034c977681653a8acd541c8b4877a58f474', url = 'https://github.com/polarmutex/tree-sitter-beancount', }, @@ -116,7 +104,6 @@ return { }, bibtex = { install_info = { - files = { 'src/parser.c' }, revision = 'ccfd77db0ed799b6c22c214fe9d2937f47bc8b34', url = 'https://github.com/latex-lsp/tree-sitter-bibtex', }, @@ -125,7 +112,6 @@ return { }, bicep = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '0092c7d1bd6bb22ce0a6f78497d50ea2b87f19c0', url = 'https://github.com/tree-sitter-grammars/tree-sitter-bicep', }, @@ -134,7 +120,6 @@ return { }, bitbake = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'a5d04fdb5a69a02b8fa8eb5525a60dfb5309b73b', url = 'https://github.com/tree-sitter-grammars/tree-sitter-bitbake', }, @@ -151,7 +136,6 @@ return { }, blueprint = { install_info = { - files = { 'src/parser.c' }, revision = '60ba73739c6083c693d86a1a7cf039c07eb4ed59', url = 'https://gitlab.com/gabmus/tree-sitter-blueprint', }, @@ -160,7 +144,6 @@ return { }, bp = { install_info = { - files = { 'src/parser.c' }, revision = '2326d709fb9cf73cf124fdbc803c267f851721a4', url = 'https://github.com/ambroisie/tree-sitter-bp', }, @@ -178,7 +161,6 @@ return { }, c = { install_info = { - files = { 'src/parser.c' }, revision = 'deca017a554045b4c203e7ddff39ae64ff05e071', url = 'https://github.com/tree-sitter/tree-sitter-c', }, @@ -187,7 +169,6 @@ return { }, c_sharp = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '82fa8f05f41a33e9bc830f85d74a9548f0291738', url = 'https://github.com/tree-sitter/tree-sitter-c-sharp', }, @@ -196,7 +177,6 @@ return { }, cairo = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '6238f609bea233040fe927858156dee5515a0745', url = 'https://github.com/tree-sitter-grammars/tree-sitter-cairo', }, @@ -213,7 +193,6 @@ return { }, capnp = { install_info = { - files = { 'src/parser.c' }, revision = '7b0883c03e5edd34ef7bcf703194204299d7099f', url = 'https://github.com/tree-sitter-grammars/tree-sitter-capnp', }, @@ -222,7 +201,6 @@ return { }, chatito = { install_info = { - files = { 'src/parser.c' }, revision = 'a461f20dedb43905febb12c1635bc7d2e43e96f0', url = 'https://github.com/tree-sitter-grammars/tree-sitter-chatito', }, @@ -239,7 +217,6 @@ return { }, clojure = { install_info = { - files = { 'src/parser.c' }, revision = 'f4236d4da8aa92bc105d9c118746474c608e6af7', url = 'https://github.com/sogaiu/tree-sitter-clojure', }, @@ -248,8 +225,7 @@ return { }, cmake = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = '20ffd6d3b4da1acdbf2d08204b2130a5b2f7c4b3', + revision = '4864abb95a1f6e54d6b362677beef9fb674b41e9', url = 'https://github.com/uyha/tree-sitter-cmake', }, maintainers = { '@uyha' }, @@ -257,7 +233,6 @@ return { }, comment = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '5d8b29f6ef3bf64d59430dcfe76b31cc44b5abfd', url = 'https://github.com/stsewd/tree-sitter-comment', }, @@ -266,7 +241,6 @@ return { }, commonlisp = { install_info = { - files = { 'src/parser.c' }, generate_from_json = true, revision = 'bf2a65b1c119898a1a17389e07f2a399c05cdc0c', url = 'https://github.com/tree-sitter-grammars/tree-sitter-commonlisp', @@ -276,7 +250,6 @@ return { }, cooklang = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '4ebe237c1cf64cf3826fc249e9ec0988fe07e58e', url = 'https://github.com/addcninblue/tree-sitter-cooklang', }, @@ -285,8 +258,7 @@ return { }, corn = { install_info = { - files = { 'src/parser.c' }, - revision = '604d73c38d4c28ca68e9e441ffd405d68cb63051', + revision = '464654742cbfd3a3de560aba120998f1d5dfa844', url = 'https://github.com/jakestanger/tree-sitter-corn', }, maintainers = { '@jakestanger' }, @@ -294,7 +266,6 @@ return { }, cpon = { install_info = { - files = { 'src/parser.c' }, revision = '594289eadfec719198e560f9d7fd243c4db678d5', url = 'https://github.com/tree-sitter-grammars/tree-sitter-cpon', }, @@ -303,9 +274,8 @@ return { }, cpp = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, - revision = 'd29fbff09a8c9ff4f3074de2595dfca12cb33da9', + revision = '9d412ba7e597fe158f209da33e60f31b1f0df967', url = 'https://github.com/tree-sitter/tree-sitter-cpp', }, maintainers = { '@theHamsta' }, @@ -314,7 +284,6 @@ return { }, css = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'f6be52c3d1cdb1c5e4dd7d8bce0a57497f55d6af', url = 'https://github.com/tree-sitter/tree-sitter-css', }, @@ -323,7 +292,6 @@ return { }, csv = { install_info = { - files = { 'src/parser.c' }, location = 'csv', revision = '7eb7297823605392d2bbcc4c09b1cd18d6fa9529', url = 'https://github.com/tree-sitter-grammars/tree-sitter-csv', @@ -334,7 +302,6 @@ return { }, cuda = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '1f188eff83b562ffae36d13e1b804ec6f3b9f1d9', url = 'https://github.com/tree-sitter-grammars/tree-sitter-cuda', @@ -345,7 +312,6 @@ return { }, cue = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '8a5f273bfa281c66354da562f2307c2d394b6c81', url = 'https://github.com/eonpatapon/tree-sitter-cue', }, @@ -362,7 +328,6 @@ return { }, d = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '750dde90ed9cdbd82493bc28478d8ab1976b0e9f', url = 'https://github.com/gdamore/tree-sitter-d', }, @@ -371,7 +336,6 @@ return { }, dart = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'ac0bb849ccd1a923963af47573b5e396736ff582', url = 'https://github.com/UserNobody14/tree-sitter-dart', }, @@ -388,7 +352,6 @@ return { }, devicetree = { install_info = { - files = { 'src/parser.c' }, revision = 'fb07e6044ffd36932c57a5be01ba5d6b8a9337bb', url = 'https://github.com/joelspadin/tree-sitter-devicetree', }, @@ -397,7 +360,6 @@ return { }, dhall = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'affb6ee38d629c9296749767ab832d69bb0d9ea8', url = 'https://github.com/jbellerb/tree-sitter-dhall', }, @@ -406,7 +368,6 @@ return { }, diff = { install_info = { - files = { 'src/parser.c' }, revision = '629676fc3919606964231b2c7b9677d6998a2cb4', url = 'https://github.com/the-mikedavis/tree-sitter-diff', }, @@ -415,7 +376,6 @@ return { }, disassembly = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '0229c0211dba909c5d45129ac784a3f4d49c243a', url = 'https://github.com/ColinKennedy/tree-sitter-disassembly', }, @@ -424,8 +384,7 @@ return { }, djot = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = '0e9a836ec47612ade15645fb1680adb549894a6c', + revision = 'ea851b9cf1a71e475f4e2ac4dc03609a1b9ca56d', url = 'https://github.com/treeman/tree-sitter-djot', }, maintainers = { '@NoahTheDuke' }, @@ -433,7 +392,6 @@ return { }, dockerfile = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '087daa20438a6cc01fa5e6fe6906d77c869d19fe', url = 'https://github.com/camdencheek/tree-sitter-dockerfile', }, @@ -442,7 +400,6 @@ return { }, dot = { install_info = { - files = { 'src/parser.c' }, revision = '9ab85550c896d8b294d9b9ca1e30698736f08cea', url = 'https://github.com/rydesun/tree-sitter-dot', }, @@ -451,8 +408,7 @@ return { }, doxygen = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = '4a30eba5d047d6a8c5b005202b4848c0b33d76ca', + revision = 'ccd998f378c3f9345ea4eeb223f56d7b84d16687', url = 'https://github.com/tree-sitter-grammars/tree-sitter-doxygen', }, maintainers = { '@amaanq' }, @@ -460,7 +416,6 @@ return { }, dtd = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, location = 'dtd', revision = '648183d86f6f8ffb240ea11b4c6873f6f45d8b67', url = 'https://github.com/tree-sitter-grammars/tree-sitter-xml', @@ -470,8 +425,7 @@ return { }, earthfile = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = '6de809419cdfb23e3a8383b6575fa3634900f276', + revision = 'b5bdcb5813ce0e582fbd8e03eb42c80d3cc8984e', url = 'https://github.com/glehmann/tree-sitter-earthfile', }, maintainers = { '@glehmann' }, @@ -479,7 +433,6 @@ return { }, ebnf = { install_info = { - files = { 'src/parser.c' }, location = 'crates/tree-sitter-ebnf', revision = '8e635b0b723c620774dfb8abf382a7f531894b40', url = 'https://github.com/RubixDev/ebnf', @@ -502,8 +455,7 @@ return { }, eds = { install_info = { - files = { 'src/parser.c' }, - revision = '5517bdb90c90703df49579a4b04689a614780be2', + revision = '0ad62cb635c2f4353359a88dec9e3a57bbf9f66d', url = 'https://github.com/uyha/tree-sitter-eds', }, maintainers = { '@uyha' }, @@ -511,7 +463,6 @@ return { }, eex = { install_info = { - files = { 'src/parser.c' }, revision = 'f742f2fe327463335e8671a87c0b9b396905d1d1', url = 'https://github.com/connorlay/tree-sitter-eex', }, @@ -520,8 +471,7 @@ return { }, elixir = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = 'de690fa8a028f122af46d9d2685679fe5f2d7d60', + revision = 'c7ae8b77e2749826dcf23df6514f08fdd68c66a3', url = 'https://github.com/elixir-lang/tree-sitter-elixir', }, maintainers = { '@connorlay' }, @@ -529,7 +479,6 @@ return { }, elm = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '09dbf221d7491dc8d8839616b27c21b9c025c457', url = 'https://github.com/elm-tooling/tree-sitter-elm', }, @@ -538,7 +487,6 @@ return { }, elsa = { install_info = { - files = { 'src/parser.c' }, revision = '0a66b2b3f3c1915e67ad2ef9f7dbd2a84820d9d7', url = 'https://github.com/glapa-grossklag/tree-sitter-elsa', }, @@ -547,7 +495,6 @@ return { }, elvish = { install_info = { - files = { 'src/parser.c' }, revision = '5e7210d945425b77f82cbaebc5af4dd3e1ad40f5', url = 'https://github.com/elves/tree-sitter-elvish', }, @@ -556,7 +503,6 @@ return { }, embedded_template = { install_info = { - files = { 'src/parser.c' }, revision = '38d5004a797298dc42c85e7706c5ceac46a3f29f', url = 'https://github.com/tree-sitter/tree-sitter-embedded-template', }, @@ -572,7 +518,6 @@ return { }, erlang = { install_info = { - files = { 'src/parser.c', 'src/parser.c' }, revision = '98ea1f9c957b2ad520415eecb5a5b406e931101e', url = 'https://github.com/WhatsApp/tree-sitter-erlang', }, @@ -581,7 +526,6 @@ return { }, facility = { install_info = { - files = { 'src/parser.c' }, revision = 'a52579670e2b14ec03d410c3c980fafaf6d659c4', url = 'https://github.com/FacilityApi/tree-sitter-facility', }, @@ -590,7 +534,6 @@ return { }, faust = { install_info = { - files = { 'src/parser.c' }, revision = 'f3b9274514b5f9bf6b0dd4a01c30f9cc15c58bc4', url = 'https://github.com/khiner/tree-sitter-faust', }, @@ -599,7 +542,6 @@ return { }, fennel = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = 'cfbfa478dc2dbef267ee94ae4323d9c886f45e94', url = 'https://github.com/alexmozaidze/tree-sitter-fennel', @@ -609,7 +551,6 @@ return { }, fidl = { install_info = { - files = { 'src/parser.c' }, revision = '0a8910f293268e27ff554357c229ba172b0eaed2', url = 'https://github.com/google/tree-sitter-fidl', }, @@ -618,7 +559,6 @@ return { }, firrtl = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '8503d3a0fe0f9e427863cb0055699ff2d29ae5f5', url = 'https://github.com/tree-sitter-grammars/tree-sitter-firrtl', }, @@ -627,7 +567,6 @@ return { }, fish = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'a78aef9abc395c600c38a037ac779afc7e3cc9e0', url = 'https://github.com/ram02z/tree-sitter-fish', }, @@ -636,7 +575,6 @@ return { }, foam = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '04664b40c0dadb7ef37028acf3422c63271d377b', url = 'https://github.com/FoamScience/tree-sitter-foam', }, @@ -645,7 +583,6 @@ return { }, forth = { install_info = { - files = { 'src/parser.c' }, revision = '90189238385cf636b9ee99ce548b9e5b5e569d48', url = 'https://github.com/AlexanderBrevig/tree-sitter-forth', }, @@ -654,7 +591,6 @@ return { }, fortran = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'f73d473e3530862dee7cbb38520f28824e7804f6', url = 'https://github.com/stadelmanma/tree-sitter-fortran', }, @@ -663,7 +599,6 @@ return { }, fsh = { install_info = { - files = { 'src/parser.c' }, revision = 'fad2e175099a45efbc98f000cc196d3674cc45e0', url = 'https://github.com/mgramigna/tree-sitter-fsh', }, @@ -681,7 +616,6 @@ return { }, func = { install_info = { - files = { 'src/parser.c' }, revision = 'f780ca55e65e7d7360d0229331763e16c452fc98', url = 'https://github.com/tree-sitter-grammars/tree-sitter-func', }, @@ -690,7 +624,6 @@ return { }, fusion = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '19db2f47ba4c3a0f6238d4ae0e2abfca16e61dd6', url = 'https://gitlab.com/jirgn/tree-sitter-fusion', }, @@ -718,7 +651,6 @@ return { }, gdscript = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '1f1e782fe2600f50ae57b53876505b8282388d77', url = 'https://github.com/PrestonKnopp/tree-sitter-gdscript', }, @@ -728,7 +660,6 @@ return { }, gdshader = { install_info = { - files = { 'src/parser.c' }, revision = 'ffd9f958df13cae04593781d7d2562295a872455', url = 'https://github.com/GodOfAvacyn/tree-sitter-gdshader', }, @@ -737,7 +668,6 @@ return { }, git_config = { install_info = { - files = { 'src/parser.c' }, revision = '9c2a1b7894e6d9eedfe99805b829b4ecd871375e', url = 'https://github.com/the-mikedavis/tree-sitter-git-config', }, @@ -746,7 +676,6 @@ return { }, git_rebase = { install_info = { - files = { 'src/parser.c' }, revision = 'd8a4207ebbc47bd78bacdf48f883db58283f9fd8', url = 'https://github.com/the-mikedavis/tree-sitter-git-rebase', }, @@ -755,7 +684,6 @@ return { }, gitattributes = { install_info = { - files = { 'src/parser.c' }, revision = '41940e199ba5763abea1d21b4f717014b45f01ea', url = 'https://github.com/tree-sitter-grammars/tree-sitter-gitattributes', }, @@ -764,7 +692,6 @@ return { }, gitcommit = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'edd817e0532f179b7f7f371dc180629070945f0c', url = 'https://github.com/gbprod/tree-sitter-gitcommit', }, @@ -773,7 +700,6 @@ return { }, gitignore = { install_info = { - files = { 'src/parser.c' }, revision = 'f4685bf11ac466dd278449bcfe5fd014e94aa504', url = 'https://github.com/shunsambongi/tree-sitter-gitignore', }, @@ -782,7 +708,6 @@ return { }, gleam = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '02a17bf9d0553406268cdbf466d57808ae712bf3', url = 'https://github.com/gleam-lang/tree-sitter-gleam', }, @@ -791,7 +716,6 @@ return { }, glimmer = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '6b25d265c990139353e1f7f97baf84987ebb7bf0', url = 'https://github.com/ember-tooling/tree-sitter-glimmer', }, @@ -821,7 +745,6 @@ return { }, glsl = { install_info = { - files = { 'src/parser.c' }, generate_from_json = true, revision = '7f91bf34cadc06a96efc475df501ffca4dda9410', url = 'https://github.com/tree-sitter-grammars/tree-sitter-glsl', @@ -832,7 +755,6 @@ return { }, gn = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'bc06955bc1e3c9ff8e9b2b2a55b38b94da923c05', url = 'https://github.com/tree-sitter-grammars/tree-sitter-gn', }, @@ -842,7 +764,6 @@ return { }, gnuplot = { install_info = { - files = { 'src/parser.c' }, revision = '3c895f5d9c0b3a3c7e02383766b462c21913c000', url = 'https://github.com/dpezto/tree-sitter-gnuplot', }, @@ -851,7 +772,6 @@ return { }, go = { install_info = { - files = { 'src/parser.c' }, revision = '7ee8d928db5202f6831a78f8112fd693bf69f98b', url = 'https://github.com/tree-sitter/tree-sitter-go', }, @@ -868,7 +788,6 @@ return { }, godot_resource = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '2ffb90de47417018651fc3b970e5f6b67214dc9d', url = 'https://github.com/PrestonKnopp/tree-sitter-godot-resource', }, @@ -878,7 +797,6 @@ return { }, gomod = { install_info = { - files = { 'src/parser.c' }, revision = 'bbe2fe3be4b87e06a613e685250f473d2267f430', url = 'https://github.com/camdencheek/tree-sitter-go-mod', }, @@ -887,7 +805,6 @@ return { }, gosum = { install_info = { - files = { 'src/parser.c' }, revision = 'e2ac513b2240c7ff1069ae33b2df29ce90777c11', url = 'https://github.com/tree-sitter-grammars/tree-sitter-go-sum', }, @@ -896,7 +813,6 @@ return { }, gotmpl = { install_info = { - files = { 'src/parser.c' }, revision = '9d3f6e526dd074b9edae9070b7bb778f00e87a5b', url = 'https://github.com/ngalaiko/tree-sitter-go-template', }, @@ -905,7 +821,6 @@ return { }, gowork = { install_info = { - files = { 'src/parser.c' }, revision = '949a8a470559543857a62102c84700d291fc984c', url = 'https://github.com/omertuc/tree-sitter-go-work', }, @@ -914,7 +829,6 @@ return { }, gpg = { install_info = { - files = { 'src/parser.c' }, revision = 'f99323fb8f3f10b6c69db0c2f6d0a14bd7330675', url = 'https://github.com/tree-sitter-grammars/tree-sitter-gpg-config', }, @@ -923,7 +837,6 @@ return { }, graphql = { install_info = { - files = { 'src/parser.c' }, revision = '5e66e961eee421786bdda8495ed1db045e06b5fe', url = 'https://github.com/bkegley/tree-sitter-graphql', }, @@ -940,7 +853,6 @@ return { }, groovy = { install_info = { - files = { 'src/parser.c' }, revision = '6c5c8813233fe326e24c5ef032858d13f8006a8d', url = 'https://github.com/murtaza64/tree-sitter-groovy', }, @@ -949,7 +861,6 @@ return { }, gstlaunch = { install_info = { - files = { 'src/parser.c' }, revision = '549aef253fd38a53995cda1bf55c501174372bf7', url = 'https://github.com/tree-sitter-grammars/tree-sitter-gstlaunch', }, @@ -958,7 +869,6 @@ return { }, hack = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'fca1e294f6dce8ec5659233a6a21f5bd0ed5b4f2', url = 'https://github.com/slackhq/tree-sitter-hack', }, @@ -966,7 +876,6 @@ return { }, hare = { install_info = { - files = { 'src/parser.c' }, revision = '070524937539eb8bb4f10debd9c83b66c434f3a2', url = 'https://github.com/tree-sitter-grammars/tree-sitter-hare', }, @@ -975,7 +884,6 @@ return { }, haskell = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'a50070d5bb5bd5c1281740a6102ecf1f4b0c4f19', url = 'https://github.com/tree-sitter/tree-sitter-haskell', }, @@ -984,7 +892,6 @@ return { }, haskell_persistent = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '577259b4068b2c281c9ebf94c109bd50a74d5857', url = 'https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent', }, @@ -993,8 +900,7 @@ return { }, hcl = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = 'e936d3fef8bac884661472dce71ad82284761eb1', + revision = 'e2d416afeba80e8cf711ed6792e089ed5c8e184e', url = 'https://github.com/tree-sitter-grammars/tree-sitter-hcl', }, maintainers = { '@MichaHoffmann' }, @@ -1002,7 +908,6 @@ return { }, heex = { install_info = { - files = { 'src/parser.c' }, revision = 'b5ad6e34eea18a15bbd1466ca707a17f9bff7b93', url = 'https://github.com/connorlay/tree-sitter-heex', }, @@ -1011,7 +916,6 @@ return { }, helm = { install_info = { - files = { 'src/parser.c' }, location = 'dialects/helm', revision = '9d3f6e526dd074b9edae9070b7bb778f00e87a5b', url = 'https://github.com/ngalaiko/tree-sitter-go-template', @@ -1021,7 +925,6 @@ return { }, hjson = { install_info = { - files = { 'src/parser.c' }, generate_from_json = true, revision = '02fa3b79b3ff9a296066da6277adfc3f26cbc9e0', url = 'https://github.com/winston0410/tree-sitter-hjson', @@ -1032,7 +935,6 @@ return { }, hlsl = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '5e1225a30712ca0a9040509806c7ba274a1bbcde', url = 'https://github.com/tree-sitter-grammars/tree-sitter-hlsl', @@ -1043,7 +945,6 @@ return { }, hlsplaylist = { install_info = { - files = { 'src/parser.c' }, revision = '64f19029339e75d6762feae39e7878595860c980', url = 'https://github.com/Freed-Wu/tree-sitter-hlsplaylist', }, @@ -1052,7 +953,6 @@ return { }, hocon = { install_info = { - files = { 'src/parser.c' }, generate_from_json = true, revision = 'c390f10519ae69fdb03b3e5764f5592fb6924bcc', url = 'https://github.com/antosha417/tree-sitter-hocon', @@ -1062,7 +962,6 @@ return { }, hoon = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'a24c5a39d1d7e993a8bee913c8e8b6a652ca5ae8', url = 'https://github.com/urbit-pilled/tree-sitter-hoon', }, @@ -1071,7 +970,6 @@ return { }, html = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'e4d834eb4918df01dcad5c27d1b15d56e3bd94cd', url = 'https://github.com/tree-sitter/tree-sitter-html', }, @@ -1086,7 +984,6 @@ return { }, htmldjango = { install_info = { - files = { 'src/parser.c' }, revision = 'ea71012d3fe14dd0b69f36be4f96bdfe9155ebae', url = 'https://github.com/interdependence/tree-sitter-htmldjango', }, @@ -1095,7 +992,6 @@ return { }, http = { install_info = { - files = { 'src/parser.c' }, revision = '8d22f33faa5aa95c6526606fb656ada342e59e40', url = 'https://github.com/rest-nvim/tree-sitter-http', }, @@ -1104,7 +1000,6 @@ return { }, hurl = { install_info = { - files = { 'src/parser.c' }, revision = 'ad705af8c44c737bdb965fc081329c50716d2d03', url = 'https://github.com/pfeiferj/tree-sitter-hurl', }, @@ -1113,8 +1008,7 @@ return { }, hyprlang = { install_info = { - files = { 'src/parser.c' }, - revision = 'e5da7d0aa44403153e0394d87d9edea4e5bd6609', + revision = 'c9012d6dcaaa939f17c21e1fdb17b013d139e6b9', url = 'https://github.com/tree-sitter-grammars/tree-sitter-hyprlang', }, maintainers = { '@luckasRanarison' }, @@ -1122,7 +1016,6 @@ return { }, idl = { install_info = { - files = { 'src/parser.c' }, revision = '9f56001f8ed29b0ea9fa4f02813f3e83ab0a2aaa', url = 'https://github.com/cathaysia/tree-sitter-idl', }, @@ -1139,7 +1032,6 @@ return { }, ini = { install_info = { - files = { 'src/parser.c' }, revision = '87176e524f0a98f5be75fa44f4f0ff5c6eac069c', url = 'https://github.com/justinmk/tree-sitter-ini', }, @@ -1148,7 +1040,6 @@ return { }, inko = { install_info = { - files = { 'src/parser.c' }, revision = '234c87be1dac20f766ddf6f486a7bde2a4bc5594', url = 'https://github.com/inko-lang/tree-sitter-inko', }, @@ -1165,7 +1056,6 @@ return { }, ispc = { install_info = { - files = { 'src/parser.c' }, generate_from_json = true, revision = '9b2f9aec2106b94b4e099fe75e73ebd8ae707c04', url = 'https://github.com/tree-sitter-grammars/tree-sitter-ispc', @@ -1176,8 +1066,7 @@ return { }, janet_simple = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = '6bfbaadac2ba0da21087041eff85d26129c4c920', + revision = '2a05cab838dfec52daa76f10920917d2e69a85bc', url = 'https://github.com/sogaiu/tree-sitter-janet-simple', }, maintainers = { '@sogaiu' }, @@ -1185,7 +1074,6 @@ return { }, java = { install_info = { - files = { 'src/parser.c' }, revision = '953abfc8bb3eb2f578e1f461edba4a9885f974b8', url = 'https://github.com/tree-sitter/tree-sitter-java', }, @@ -1202,7 +1090,6 @@ return { }, javascript = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '391a8fcc48a11f63bf18ec9885f6f069e760949a', url = 'https://github.com/tree-sitter/tree-sitter-javascript', }, @@ -1233,7 +1120,6 @@ return { }, jq = { install_info = { - files = { 'src/parser.c' }, revision = '13990f530e8e6709b7978503da9bc8701d366791', url = 'https://github.com/flurie/tree-sitter-jq', }, @@ -1242,7 +1128,6 @@ return { }, jsdoc = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '49fde205b59a1d9792efc21ee0b6d50bbd35ff14', url = 'https://github.com/tree-sitter/tree-sitter-jsdoc', }, @@ -1251,7 +1136,6 @@ return { }, json = { install_info = { - files = { 'src/parser.c' }, revision = '94f5c527b2965465956c2000ed6134dd24daf2a7', url = 'https://github.com/tree-sitter/tree-sitter-json', }, @@ -1260,7 +1144,6 @@ return { }, json5 = { install_info = { - files = { 'src/parser.c' }, revision = 'ab0ba8229d639ec4f3fa5f674c9133477f4b77bd', url = 'https://github.com/Joakker/tree-sitter-json5', }, @@ -1269,7 +1152,6 @@ return { }, jsonc = { install_info = { - files = { 'src/parser.c' }, generate_from_json = true, revision = '02b01653c8a1c198ae7287d566efa86a135b30d5', url = 'https://gitlab.com/WhyNotHugo/tree-sitter-jsonc', @@ -1280,7 +1162,6 @@ return { }, jsonnet = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'd34615fa12cc1d1cfc1f1f1a80acc9db80ee4596', url = 'https://github.com/sourcegraph/tree-sitter-jsonnet', }, @@ -1294,7 +1175,6 @@ return { }, julia = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'f1baa5f8e271109d01cc8ff7473c11df2d8a9aee', url = 'https://github.com/tree-sitter/tree-sitter-julia', }, @@ -1303,7 +1183,6 @@ return { }, just = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'fd814fc6c579f68c2a642f5e0268cf69daae92d7', url = 'https://github.com/IndianBoy42/tree-sitter-just', }, @@ -1320,7 +1199,6 @@ return { }, kconfig = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '486fea71f61ad9f3fd4072a118402e97fe88d26c', url = 'https://github.com/tree-sitter-grammars/tree-sitter-kconfig', }, @@ -1329,8 +1207,7 @@ return { }, kdl = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = '49fb89a854d93b58a65a19724ac307195ca11941', + revision = 'b37e3d58e5c5cf8d739b315d6114e02d42e66664', url = 'https://github.com/tree-sitter-grammars/tree-sitter-kdl', }, maintainers = { '@amaanq' }, @@ -1338,7 +1215,6 @@ return { }, kotlin = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'c9cb8504b81684375e7beb8907517dbd6947a1be', url = 'https://github.com/fwcd/tree-sitter-kotlin', }, @@ -1347,8 +1223,7 @@ return { }, koto = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = 'eb8d866cff5751c0a7650623d244280618b0a378', + revision = 'd4109879ba1387d19095269a7473bd7d274ab848', url = 'https://github.com/koto-lang/tree-sitter-koto', }, maintainers = { '@irh' }, @@ -1356,7 +1231,6 @@ return { }, kusto = { install_info = { - files = { 'src/parser.c' }, revision = '8353a1296607d6ba33db7c7e312226e5fc83e8ce', url = 'https://github.com/Willem-J-an/tree-sitter-kusto', }, @@ -1365,7 +1239,6 @@ return { }, lalrpop = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '854a40e99f7c70258e522bdb8ab584ede6196e2e', url = 'https://github.com/traxys/tree-sitter-lalrpop', }, @@ -1374,7 +1247,6 @@ return { }, latex = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate = true, revision = 'cd82eb40d31bdfe65f846f4e06292d6c804b5e0e', url = 'https://github.com/latex-lsp/tree-sitter-latex', @@ -1384,7 +1256,6 @@ return { }, ledger = { install_info = { - files = { 'src/parser.c' }, revision = '8a841fb20ce683bfbb3469e6ba67f2851cfdf94a', url = 'https://github.com/cbarrete/tree-sitter-ledger', }, @@ -1393,7 +1264,6 @@ return { }, leo = { install_info = { - files = { 'src/parser.c' }, revision = '304611b5eaf53aca07459a0a03803b83b6dfd3b3', url = 'https://github.com/r001/tree-sitter-leo', }, @@ -1402,7 +1272,6 @@ return { }, linkerscript = { install_info = { - files = { 'src/parser.c' }, revision = 'f99011a3554213b654985a4b0a65b3b032ec4621', url = 'https://github.com/tree-sitter-grammars/tree-sitter-linkerscript', }, @@ -1411,8 +1280,7 @@ return { }, liquid = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = '293369818da219d97327908aab33707b04b63fd9', + revision = '0419ac4868585320eee8615c90b864a1b04ef433', url = 'https://github.com/hankthetank27/tree-sitter-liquid', }, maintainers = { '@hankthetank27' }, @@ -1420,7 +1288,6 @@ return { }, liquidsoap = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '14feafa91630afb1ab9988cf9b738b7ea29f3f89', url = 'https://github.com/savonet/tree-sitter-liquidsoap', }, @@ -1429,7 +1296,6 @@ return { }, llvm = { install_info = { - files = { 'src/parser.c' }, revision = '1b96e58faf558ce057d4dc664b904528aee743cb', url = 'https://github.com/benwilliamgraham/tree-sitter-llvm', }, @@ -1438,7 +1304,6 @@ return { }, lua = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'a24dab177e58c9c6832f96b9a73102a0cfbced4a', url = 'https://github.com/tree-sitter-grammars/tree-sitter-lua', }, @@ -1447,7 +1312,6 @@ return { }, luadoc = { install_info = { - files = { 'src/parser.c' }, revision = '873612aadd3f684dd4e631bdf42ea8990c57634e', url = 'https://github.com/tree-sitter-grammars/tree-sitter-luadoc', }, @@ -1456,8 +1320,7 @@ return { }, luap = { install_info = { - files = { 'src/parser.c' }, - revision = '31461ae9bd0866cb5117cfe5de71189854fd0f3e', + revision = 'c134aaec6acf4fa95fe4aa0dc9aba3eacdbbe55a', url = 'https://github.com/tree-sitter-grammars/tree-sitter-luap', }, maintainers = { '@amaanq' }, @@ -1466,7 +1329,6 @@ return { }, luau = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '5aa9b88a8e3327276ec6e72de997f04ac80b1ae4', url = 'https://github.com/tree-sitter-grammars/tree-sitter-luau', @@ -1477,7 +1339,6 @@ return { }, m68k = { install_info = { - files = { 'src/parser.c' }, revision = 'd097b123f19c6eaba2bf181c05420d88b9fc489d', url = 'https://github.com/grahambates/tree-sitter-m68k', }, @@ -1486,7 +1347,6 @@ return { }, make = { install_info = { - files = { 'src/parser.c' }, revision = 'a4b9187417d6be349ee5fd4b6e77b4172c6827dd', url = 'https://github.com/alemuller/tree-sitter-make', }, @@ -1495,7 +1355,6 @@ return { }, markdown = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, location = 'tree-sitter-markdown', revision = '7fe453beacecf02c86f7736439f238f5bb8b5c9b', url = 'https://github.com/tree-sitter-grammars/tree-sitter-markdown', @@ -1507,7 +1366,6 @@ return { }, markdown_inline = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, location = 'tree-sitter-markdown-inline', revision = '7fe453beacecf02c86f7736439f238f5bb8b5c9b', url = 'https://github.com/tree-sitter-grammars/tree-sitter-markdown', @@ -1518,7 +1376,6 @@ return { }, matlab = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '79d8b25f57b48f83ae1333aff6723b83c9532e37', url = 'https://github.com/acristoffers/tree-sitter-matlab', }, @@ -1527,7 +1384,6 @@ return { }, menhir = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'be8866a6bcc2b563ab0de895af69daeffa88fe70', url = 'https://github.com/Kerl13/tree-sitter-menhir', }, @@ -1536,7 +1392,6 @@ return { }, mermaid = { install_info = { - files = { 'src/parser.c' }, revision = '90ae195b31933ceb9d079abfa8a3ad0a36fee4cc', url = 'https://github.com/monaqa/tree-sitter-mermaid', }, @@ -1544,7 +1399,6 @@ return { }, meson = { install_info = { - files = { 'src/parser.c' }, revision = 'bd17c824196ce70800f64ad39cfddd1b17acc13f', url = 'https://github.com/tree-sitter-grammars/tree-sitter-meson', }, @@ -1553,7 +1407,6 @@ return { }, mlir = { install_info = { - files = { 'src/parser.c' }, generate = true, revision = '00c32d8562dc957b187da110a3443307962b8da8', url = 'https://github.com/artagnon/tree-sitter-mlir', @@ -1563,7 +1416,6 @@ return { }, muttrc = { install_info = { - files = { 'src/parser.c' }, revision = '90ef60852c410bd964cd3b954366e4c403c17314', url = 'https://github.com/neomutt/tree-sitter-muttrc', }, @@ -1572,7 +1424,6 @@ return { }, nasm = { install_info = { - files = { 'src/parser.c' }, revision = '570f3d7be01fffc751237f4cfcf52d04e20532d1', url = 'https://github.com/naclsn/tree-sitter-nasm', }, @@ -1589,15 +1440,13 @@ return { }, nickel = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = '0a796f3a312917724c1d9f486a201f7402a8acfd', + revision = '43433d8477b24cd13acaac20a66deda49b7e2547', url = 'https://github.com/nickel-lang/tree-sitter-nickel', }, tier = 4, }, nim = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '961c2798cec9250c44f7d7225ddb33d47d25856a', url = 'https://github.com/alaviss/tree-sitter-nim', }, @@ -1607,7 +1456,6 @@ return { }, nim_format_string = { install_info = { - files = { 'src/parser.c' }, revision = 'd45f75022d147cda056e98bfba68222c9c8eca3a', url = 'https://github.com/aMOPel/tree-sitter-nim-format-string', }, @@ -1616,7 +1464,6 @@ return { }, ninja = { install_info = { - files = { 'src/parser.c' }, revision = '0a95cfdc0745b6ae82f60d3a339b37f19b7b9267', url = 'https://github.com/alemuller/tree-sitter-ninja', }, @@ -1625,7 +1472,6 @@ return { }, nix = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'b3cda619248e7dd0f216088bd152f59ce0bbe488', url = 'https://github.com/cstrahan/tree-sitter-nix', }, @@ -1634,7 +1480,6 @@ return { }, nqc = { install_info = { - files = { 'src/parser.c' }, generate_from_json = true, revision = '14e6da1627aaef21d2b2aa0c37d04269766dcc1d', url = 'https://github.com/tree-sitter-grammars/tree-sitter-nqc', @@ -1652,7 +1497,6 @@ return { }, objc = { install_info = { - files = { 'src/parser.c' }, generate_from_json = true, revision = '62e61b6f5c0289c376d61a8c91faf6435cde9012', url = 'https://github.com/tree-sitter-grammars/tree-sitter-objc', @@ -1663,7 +1507,6 @@ return { }, objdump = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '28d3b2e25a0b1881d1b47ed1924ca276c7003d45', url = 'https://github.com/ColinKennedy/tree-sitter-objdump', }, @@ -1672,7 +1515,6 @@ return { }, ocaml = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, location = 'grammars/ocaml', revision = '0b12614ded3ec7ed7ab7933a9ba4f695ba4c342e', url = 'https://github.com/tree-sitter/tree-sitter-ocaml', @@ -1682,7 +1524,6 @@ return { }, ocaml_interface = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, location = 'grammars/interface', revision = '0b12614ded3ec7ed7ab7933a9ba4f695ba4c342e', url = 'https://github.com/tree-sitter/tree-sitter-ocaml', @@ -1693,7 +1534,6 @@ return { }, ocamllex = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate = true, revision = '4b9898ccbf198602bb0dec9cd67cc1d2c0a4fad2', url = 'https://github.com/atom-ocaml/tree-sitter-ocamllex', @@ -1703,7 +1543,6 @@ return { }, odin = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'd37b8f24f653378b268ec18404e9c14ad355b128', url = 'https://github.com/tree-sitter-grammars/tree-sitter-odin', }, @@ -1712,7 +1551,6 @@ return { }, pascal = { install_info = { - files = { 'src/parser.c' }, revision = 'a9ee969dec5b2e3b2ccccc5954fec04100c7619e', url = 'https://github.com/Isopod/tree-sitter-pascal', }, @@ -1721,7 +1559,6 @@ return { }, passwd = { install_info = { - files = { 'src/parser.c' }, revision = '20239395eacdc2e0923a7e5683ad3605aee7b716', url = 'https://github.com/ath3/tree-sitter-passwd', }, @@ -1730,7 +1567,6 @@ return { }, pem = { install_info = { - files = { 'src/parser.c' }, revision = '217ff2af3f2db15a79ab7e3d21ea1e0c17e71a1a', url = 'https://github.com/tree-sitter-grammars/tree-sitter-pem', }, @@ -1740,7 +1576,6 @@ return { perl = { install_info = { branch = 'release', - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '309cb8d33bcfd0a81050b21be08f9eb3f2fe2138', url = 'https://github.com/tree-sitter-perl/tree-sitter-perl', @@ -1750,9 +1585,8 @@ return { }, php = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, location = 'php', - revision = 'b38c53537769df05871643c9688c264074fb6076', + revision = '4f124bc6075e1c3333e80190c1c170933ed72c95', url = 'https://github.com/tree-sitter/tree-sitter-php', }, maintainers = { '@tk-shirasaka', '@calebdw' }, @@ -1762,9 +1596,8 @@ return { }, php_only = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, location = 'php_only', - revision = 'b38c53537769df05871643c9688c264074fb6076', + revision = '4f124bc6075e1c3333e80190c1c170933ed72c95', url = 'https://github.com/tree-sitter/tree-sitter-php', }, maintainers = { '@tk-shirasaka', '@calebdw' }, @@ -1773,7 +1606,6 @@ return { }, phpdoc = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '1d0e255b37477d0ca46f1c9e9268c8fa76c0b3fc', url = 'https://github.com/claytonrcarter/tree-sitter-phpdoc', @@ -1783,7 +1615,6 @@ return { }, pioasm = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '924aadaf5dea2a6074d72027b064f939acf32e20', url = 'https://github.com/leo60228/tree-sitter-pioasm', }, @@ -1792,7 +1623,6 @@ return { }, po = { install_info = { - files = { 'src/parser.c' }, revision = 'bd860a0f57f697162bf28e576674be9c1500db5e', url = 'https://github.com/tree-sitter-grammars/tree-sitter-po', }, @@ -1802,7 +1632,6 @@ return { pod = { install_info = { branch = 'release', - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '39da859947b94abdee43e431368e1ae975c0a424', url = 'https://github.com/tree-sitter-perl/tree-sitter-pod', @@ -1812,7 +1641,6 @@ return { }, poe_filter = { install_info = { - files = { 'src/parser.c' }, revision = '592476d81f95d2451f2ca107dc872224c76fecdf', url = 'https://github.com/tree-sitter-grammars/tree-sitter-poe-filter', }, @@ -1822,7 +1650,6 @@ return { }, pony = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '73ff874ae4c9e9b45462673cbc0a1e350e2522a7', url = 'https://github.com/tree-sitter-grammars/tree-sitter-pony', }, @@ -1840,7 +1667,6 @@ return { }, printf = { install_info = { - files = { 'src/parser.c' }, revision = '0e0aceabbf607ea09e03562f5d8a56f048ddea3d', url = 'https://github.com/tree-sitter-grammars/tree-sitter-printf', }, @@ -1849,7 +1675,6 @@ return { }, prisma = { install_info = { - files = { 'src/parser.c' }, revision = 'eca2596a355b1a9952b4f80f8f9caed300a272b5', url = 'https://github.com/victorhqc/tree-sitter-prisma', }, @@ -1879,7 +1704,6 @@ return { }, promql = { install_info = { - files = { 'src/parser.c' }, revision = '77625d78eebc3ffc44d114a07b2f348dff3061b0', url = 'https://github.com/MichaHoffmann/tree-sitter-promql', }, @@ -1888,7 +1712,6 @@ return { }, properties = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '9d09f5f200c356c50c4103d36441309fd61b48d1', url = 'https://github.com/tree-sitter-grammars/tree-sitter-properties', }, @@ -1898,7 +1721,6 @@ return { }, proto = { install_info = { - files = { 'src/parser.c' }, revision = 'e9f6b43f6844bd2189b50a422d4e2094313f6aa3', url = 'https://github.com/treywood/tree-sitter-proto', }, @@ -1907,7 +1729,6 @@ return { }, prql = { install_info = { - files = { 'src/parser.c' }, revision = '09e158cd3650581c0af4c49c2e5b10c4834c8646', url = 'https://github.com/PRQL/tree-sitter-prql', }, @@ -1916,7 +1737,6 @@ return { }, psv = { install_info = { - files = { 'src/parser.c' }, location = 'psv', revision = '7eb7297823605392d2bbcc4c09b1cd18d6fa9529', url = 'https://github.com/tree-sitter-grammars/tree-sitter-csv', @@ -1927,7 +1747,6 @@ return { }, pug = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'a7ff31a38908df9b9f34828d21d6ca5e12413e18', url = 'https://github.com/zealot128/tree-sitter-pug', }, @@ -1936,7 +1755,6 @@ return { }, puppet = { install_info = { - files = { 'src/parser.c' }, revision = '584522f32495d648b18a53ccb52d988e60de127d', url = 'https://github.com/tree-sitter-grammars/tree-sitter-puppet', }, @@ -1945,7 +1763,6 @@ return { }, purescript = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'daf9b3e2be18b0b2996a1281f7783e0d041d8b80', url = 'https://github.com/postsolar/tree-sitter-purescript', }, @@ -1954,8 +1771,7 @@ return { }, pymanifest = { install_info = { - files = { 'src/parser.c' }, - revision = 'e3b82b78721aee07f676dac8473ae69db51debcf', + revision = 'be062582956165019d3253794b4d712f66dfeaaa', url = 'https://github.com/tree-sitter-grammars/tree-sitter-pymanifest', }, maintainers = { '@ObserverOfTime' }, @@ -1964,7 +1780,6 @@ return { }, python = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '71778c2a472ed00a64abf4219544edbf8e4b86d7', url = 'https://github.com/tree-sitter/tree-sitter-python', }, @@ -1973,7 +1788,6 @@ return { }, ql = { install_info = { - files = { 'src/parser.c' }, revision = '42becd6f8f7bae82c818fa3abb1b6ff34b552310', url = 'https://github.com/tree-sitter/tree-sitter-ql', }, @@ -1982,7 +1796,6 @@ return { }, qmldir = { install_info = { - files = { 'src/parser.c' }, revision = '6b2b5e41734bd6f07ea4c36ac20fb6f14061c841', url = 'https://github.com/tree-sitter-grammars/tree-sitter-qmldir', }, @@ -1991,9 +1804,8 @@ return { }, qmljs = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, - revision = '2c57cac27e207425f8df15327884434cb12365a3', + revision = 'febf48a5b6928600cd8fb2a01254743af550780d', url = 'https://github.com/yuja/tree-sitter-qmljs', }, maintainers = { '@Decodetalkers' }, @@ -2002,7 +1814,6 @@ return { }, query = { install_info = { - files = { 'src/parser.c' }, revision = 'f767fb0ac5e711b6d44c5e0c8d1f349687a86ce0', url = 'https://github.com/tree-sitter-grammars/tree-sitter-query', }, @@ -2012,7 +1823,6 @@ return { }, r = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '391400572538ff9854341a175ed8ab4b1e45f44b', url = 'https://github.com/r-lib/tree-sitter-r', }, @@ -2021,7 +1831,6 @@ return { }, racket = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '171f52a8c0ed635b85cd42d1e36d82f1066a03b4', url = 'https://github.com/6cdh/tree-sitter-racket', }, @@ -2029,7 +1838,6 @@ return { }, ralph = { install_info = { - files = { 'src/parser.c' }, revision = '48b9d9d6e2b55ce8f9eb09ceb0d952e4b1cc87a0', url = 'https://github.com/alephium/tree-sitter-ralph', }, @@ -2038,7 +1846,6 @@ return { }, rasi = { install_info = { - files = { 'src/parser.c' }, revision = '6c9bbcfdf5f0f553d9ebc01750a3aa247a37b8aa', url = 'https://github.com/Fymyte/tree-sitter-rasi', }, @@ -2057,8 +1864,7 @@ return { }, rbs = { install_info = { - files = { 'src/parser.c' }, - revision = 'e5e807a50fcd104a2d740d354632fc671700a0bf', + revision = '88d8ed487b5449ddda2fc0c4fe23b71cba29ca24', url = 'https://github.com/joker1007/tree-sitter-rbs', }, maintainers = { '@joker1007' }, @@ -2066,7 +1872,6 @@ return { }, re2c = { install_info = { - files = { 'src/parser.c' }, revision = '47aa19cf5f7aba2ed30e2b377f7172df76e819a6', url = 'https://github.com/tree-sitter-grammars/tree-sitter-re2c', }, @@ -2075,7 +1880,6 @@ return { }, readline = { install_info = { - files = { 'src/parser.c' }, revision = '3d4768b04d7cfaf40533e12b28672603428b8f31', url = 'https://github.com/tree-sitter-grammars/tree-sitter-readline', }, @@ -2084,7 +1888,6 @@ return { }, regex = { install_info = { - files = { 'src/parser.c' }, revision = '47007f195752d8e57bda80b0b6cdb2d173a9f7d7', url = 'https://github.com/tree-sitter/tree-sitter-regex', }, @@ -2093,8 +1896,7 @@ return { }, rego = { install_info = { - files = { 'src/parser.c' }, - revision = '23b1da8de9766d766c4f01531e8be14b5c00c493', + revision = '20b5a5958c837bc9f74b231022a68a594a313f6d', url = 'https://github.com/FallenAngel97/tree-sitter-rego', }, maintainers = { '@FallenAngel97' }, @@ -2102,8 +1904,7 @@ return { }, requirements = { install_info = { - files = { 'src/parser.c' }, - revision = '360c6a6b31076a482663806f7a8241de9cad6b4e', + revision = '5ad9b7581b3334f6ad492847d007f2fac6e6e5f2', url = 'https://github.com/tree-sitter-grammars/tree-sitter-requirements', }, maintainers = { '@ObserverOfTime' }, @@ -2120,7 +1921,6 @@ return { }, rnoweb = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '1a74dc0ed731ad07db39f063e2c5a6fe528cae7f', url = 'https://github.com/bamonroe/tree-sitter-rnoweb', }, @@ -2129,7 +1929,6 @@ return { }, robot = { install_info = { - files = { 'src/parser.c' }, revision = '322e4cc65754d2b3fdef4f2f8a71e0762e3d13af', url = 'https://github.com/Hubro/tree-sitter-robot', }, @@ -2146,8 +1945,7 @@ return { }, roc = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = '7df2c0892e62efb81a7504d9799d4e0d0443d241', + revision = 'df46a85abda9f948d38f5d4e3684cec49c42fef2', url = 'https://github.com/faldor20/tree-sitter-roc', }, maintainers = { '@nat-418' }, @@ -2155,7 +1953,6 @@ return { }, ron = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '78938553b93075e638035f624973083451b29055', url = 'https://github.com/tree-sitter-grammars/tree-sitter-ron', }, @@ -2164,7 +1961,6 @@ return { }, rst = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '5120f6e59284cb8b85b450bd2db0bd352635ba9f', url = 'https://github.com/stsewd/tree-sitter-rst', }, @@ -2173,7 +1969,6 @@ return { }, ruby = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'dc2d7d6b50f9975bc3c35bbec0ba11b2617b736b', url = 'https://github.com/tree-sitter/tree-sitter-ruby', }, @@ -2190,7 +1985,6 @@ return { }, rust = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '9c84af007b0f144954adb26b3f336495cbb320a7', url = 'https://github.com/tree-sitter/tree-sitter-rust', }, @@ -2199,7 +1993,6 @@ return { }, scala = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'b76db435a7f876cf1ede837d66054c534783c72f', url = 'https://github.com/tree-sitter/tree-sitter-scala', }, @@ -2208,17 +2001,15 @@ return { }, scfg = { install_info = { - files = { 'src/parser.c' }, generate = true, revision = '6deae0cbb458c849a4d1e2985093e9c9c32d7fd0', url = 'https://github.com/rockorager/tree-sitter-scfg', }, maintainers = { '@WhyNotHugo' }, - tier = 3, + tier = 4, }, scheme = { install_info = { - files = { 'src/parser.c' }, revision = '8f9dff3d038f09934db5ea113cebc59c74447743', url = 'https://github.com/6cdh/tree-sitter-scheme', }, @@ -2226,7 +2017,6 @@ return { }, scss = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'c478c6868648eff49eb04a4df90d703dc45b312a', url = 'https://github.com/serenadeai/tree-sitter-scss', }, @@ -2246,7 +2036,6 @@ return { }, slang = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '865d79e236c7f0e04276c969453d021d1da4b15f', url = 'https://github.com/tree-sitter-grammars/tree-sitter-slang', @@ -2265,7 +2054,6 @@ return { }, slint = { install_info = { - files = { 'src/parser.c' }, revision = 'd82ab8c19ea1b60ff570256eaef7d137cc5ecb63', url = 'https://github.com/slint-ui/tree-sitter-slint', }, @@ -2274,7 +2062,6 @@ return { }, smali = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'fdfa6a1febc43c7467aa7e937b87b607956f2346', url = 'https://github.com/tree-sitter-grammars/tree-sitter-smali', }, @@ -2283,7 +2070,6 @@ return { }, smithy = { install_info = { - files = { 'src/parser.c' }, revision = 'fa898ac0885d1da9a253695c3e0e91f5efc587cd', url = 'https://github.com/indoorvivants/tree-sitter-smithy', }, @@ -2292,9 +2078,8 @@ return { }, snakemake = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, - revision = 'ba1b3868eaa960b945593404af9a7c2f296d3643', + revision = '5a7b14074bca95b25935e865ca8f1efad32317e4', url = 'https://github.com/osthomas/tree-sitter-snakemake', }, maintainers = { '@osthomas' }, @@ -2302,8 +2087,7 @@ return { }, solidity = { install_info = { - files = { 'src/parser.c' }, - revision = '1c94fe3d5351dfcff3551ec1f49614cbf758e444', + revision = 'ee5a2d2ba30b487c4bbf613d2ef310a454c09c7c', url = 'https://github.com/JoranHonig/tree-sitter-solidity', }, maintainers = { '@amaanq' }, @@ -2311,7 +2095,6 @@ return { }, soql = { install_info = { - files = { 'src/parser.c' }, location = 'soql', revision = 'c99ad4b16d112fea91745e3f1b769754239fdaba', url = 'https://github.com/aheber/tree-sitter-sfapex', @@ -2321,7 +2104,6 @@ return { }, sosl = { install_info = { - files = { 'src/parser.c' }, location = 'sosl', revision = 'c99ad4b16d112fea91745e3f1b769754239fdaba', url = 'https://github.com/aheber/tree-sitter-sfapex', @@ -2331,8 +2113,7 @@ return { }, sourcepawn = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, - revision = '64ad670dd59e88c5d32bc3d759ae8562b522cad9', + revision = '645d093763bcaaf7535edbdf6575a5c978b16491', url = 'https://github.com/nilshelmig/tree-sitter-sourcepawn', }, maintainers = { '@Sarrus1' }, @@ -2340,7 +2121,6 @@ return { }, sparql = { install_info = { - files = { 'src/parser.c' }, generate_from_json = true, revision = '05f949d3c1c15e3261473a244d3ce87777374dec', url = 'https://github.com/GordianDziwis/tree-sitter-sparql', @@ -2351,9 +2131,8 @@ return { sql = { install_info = { branch = 'gh-pages', - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, - revision = '6a99f4aff780f98bc119c7f034406e41d7e0b80d', + revision = '89fd00d0aff3bc9985ac37caf362ec4fd9b2ba1d', url = 'https://github.com/derekstride/tree-sitter-sql', }, maintainers = { '@derekstride' }, @@ -2361,7 +2140,6 @@ return { }, squirrel = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '0a50d31098e83c668d34d1160a0f6c7d23b571cc', url = 'https://github.com/tree-sitter-grammars/tree-sitter-squirrel', }, @@ -2370,7 +2148,6 @@ return { }, ssh_config = { install_info = { - files = { 'src/parser.c' }, revision = '77450e8bce8853921512348f83c73c168c71fdfb', url = 'https://github.com/tree-sitter-grammars/tree-sitter-ssh-config', }, @@ -2379,7 +2156,6 @@ return { }, starlark = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '018d0e09d9d0f0dd6740a37682b8ee4512e8b2ac', url = 'https://github.com/tree-sitter-grammars/tree-sitter-starlark', @@ -2389,7 +2165,6 @@ return { }, strace = { install_info = { - files = { 'src/parser.c' }, revision = 'd819cdd5dbe455bd3c859193633c8d91c0df7c36', url = 'https://github.com/sigmaSd/tree-sitter-strace', }, @@ -2398,7 +2173,6 @@ return { }, styled = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '65835cca33a5f033bcde580ed66cde01c1fabbbe', url = 'https://github.com/mskelton/tree-sitter-styled', @@ -2408,7 +2182,6 @@ return { }, supercollider = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'affa4389186b6939d89673e1e9d2b28364f5ca6f', url = 'https://github.com/madskjeldgaard/tree-sitter-supercollider', }, @@ -2426,7 +2199,6 @@ return { }, surface = { install_info = { - files = { 'src/parser.c' }, revision = 'f4586b35ac8548667a9aaa4eae44456c1f43d032', url = 'https://github.com/connorlay/tree-sitter-surface', }, @@ -2435,9 +2207,8 @@ return { }, svelte = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, - revision = '2c97326cd96b7c3016c3d249e8dc244c89b4abeb', + revision = '7218cf622b057ae9c530e1f0a7a3ce49806ca55e', url = 'https://github.com/tree-sitter-grammars/tree-sitter-svelte', }, maintainers = { '@amaanq' }, @@ -2454,9 +2225,8 @@ return { }, swift = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate = true, - revision = '26354ddec08c7efde4fa16bd29429f3310d2e2c5', + revision = '13ffaec4068facfff608e3afbdb7a581c185f6a6', url = 'https://github.com/alex-pinkus/tree-sitter-swift', }, maintainers = { '@alex-pinkus' }, @@ -2464,7 +2234,6 @@ return { }, sxhkdrc = { install_info = { - files = { 'src/parser.c' }, revision = '440d5f913d9465c9c776a1bd92334d32febcf065', url = 'https://github.com/RaafatTurki/tree-sitter-sxhkdrc', }, @@ -2473,7 +2242,6 @@ return { }, systemtap = { install_info = { - files = { 'src/parser.c' }, revision = '1af543a96d060b1f808982037bfc54cc02218edd', url = 'https://github.com/ok-ryoko/tree-sitter-systemtap', }, @@ -2482,7 +2250,6 @@ return { }, t32 = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '6182836f4128725f1e74ce986840d7317021a015', url = 'https://gitlab.com/xasc/tree-sitter-t32', }, @@ -2491,7 +2258,6 @@ return { }, tablegen = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'b1170880c61355aaf38fc06f4af7d3c55abdabc4', url = 'https://github.com/tree-sitter-grammars/tree-sitter-tablegen', }, @@ -2500,7 +2266,6 @@ return { }, tact = { install_info = { - files = { 'src/parser.c' }, revision = '034df2162ed7b654efd999942e266be713c7cde0', url = 'https://github.com/tact-lang/tree-sitter-tact', }, @@ -2509,7 +2274,6 @@ return { }, tcl = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '8784024358c233efd0f3a6fd9e7a3c5852e628bc', url = 'https://github.com/tree-sitter-grammars/tree-sitter-tcl', }, @@ -2526,7 +2290,6 @@ return { }, teal = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate = true, revision = '19b02da829d1721a521bf7b802eb80a50bd53aab', url = 'https://github.com/euclidianAce/tree-sitter-teal', @@ -2536,7 +2299,6 @@ return { }, templ = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = 'cf84ea53e2e2531f23009d676ac206090c1e2392', url = 'https://github.com/vrischmann/tree-sitter-templ', @@ -2546,7 +2308,6 @@ return { }, terraform = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, location = 'dialects/terraform', revision = 'e936d3fef8bac884661472dce71ad82284761eb1', url = 'https://github.com/MichaHoffmann/tree-sitter-hcl', @@ -2557,7 +2318,6 @@ return { }, textproto = { install_info = { - files = { 'src/parser.c' }, revision = '8dacf02aa402892c91079f8577998ed5148c0496', url = 'https://github.com/PorterAtGoogle/tree-sitter-textproto', }, @@ -2566,7 +2326,6 @@ return { }, thrift = { install_info = { - files = { 'src/parser.c' }, revision = '68fd0d80943a828d9e6f49c58a74be1e9ca142cf', url = 'https://github.com/tree-sitter-grammars/tree-sitter-thrift', }, @@ -2575,7 +2334,6 @@ return { }, tiger = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'a7f11d946b44244f71df41d2a78af0665d618dae', url = 'https://github.com/ambroisie/tree-sitter-tiger', }, @@ -2584,7 +2342,6 @@ return { }, tlaplus = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '200f9dab6b23f3b9bb8f67fc811221517f56c373', url = 'https://github.com/tlaplus-community/tree-sitter-tlaplus', }, @@ -2593,7 +2350,6 @@ return { }, tmux = { install_info = { - files = { 'src/parser.c' }, revision = '9138ea508410e0f34da2666609f600f65e944f22', url = 'https://github.com/Freed-Wu/tree-sitter-tmux', }, @@ -2602,7 +2358,6 @@ return { }, todotxt = { install_info = { - files = { 'src/parser.c' }, revision = '3937c5cd105ec4127448651a21aef45f52d19609', url = 'https://github.com/arnarg/tree-sitter-todotxt', }, @@ -2611,7 +2366,6 @@ return { }, toml = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '16a30c83ce427385b8d14939c45c137fcfca6c42', url = 'https://github.com/tree-sitter-grammars/tree-sitter-toml', @@ -2621,7 +2375,6 @@ return { }, tsv = { install_info = { - files = { 'src/parser.c' }, location = 'tsv', revision = '7eb7297823605392d2bbcc4c09b1cd18d6fa9529', url = 'https://github.com/tree-sitter-grammars/tree-sitter-csv', @@ -2631,7 +2384,6 @@ return { }, tsx = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, location = 'tsx', revision = '4ad3010c91d700026d036b5230e2d99ba94ae8a4', @@ -2643,7 +2395,6 @@ return { }, turtle = { install_info = { - files = { 'src/parser.c' }, revision = '085437f5cb117703b7f520dd92161140a684f092', url = 'https://github.com/GordianDziwis/tree-sitter-turtle', }, @@ -2652,8 +2403,7 @@ return { }, twig = { install_info = { - files = { 'src/parser.c' }, - revision = 'eaf80e6af969e25993576477a9dbdba3e48c1305', + revision = '085648e01d1422163a1702a44e72303b4e2a0bd1', url = 'https://github.com/gbprod/tree-sitter-twig', }, maintainers = { '@gbprod' }, @@ -2661,7 +2411,6 @@ return { }, typescript = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, location = 'typescript', revision = '4ad3010c91d700026d036b5230e2d99ba94ae8a4', @@ -2673,7 +2422,6 @@ return { }, typespec = { install_info = { - files = { 'src/parser.c' }, revision = '28821d0d6da5f0a6b5eb02b9bad953fecafd7248', url = 'https://github.com/happenslol/tree-sitter-typespec', }, @@ -2682,7 +2430,6 @@ return { }, typoscript = { install_info = { - files = { 'src/parser.c' }, revision = '43b221c0b76e77244efdaa9963e402a17c930fbc', url = 'https://github.com/Teddytrombone/tree-sitter-typoscript', }, @@ -2691,7 +2438,6 @@ return { }, typst = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '3924cb9ed9e0e62ce7df9c4fe0faa4c234795999', url = 'https://github.com/uben0/tree-sitter-typst', }, @@ -2700,7 +2446,6 @@ return { }, udev = { install_info = { - files = { 'src/parser.c' }, revision = '8f58696e79092b4ad6bf197415bbd0970acf15cd', url = 'https://github.com/tree-sitter-grammars/tree-sitter-udev', }, @@ -2709,7 +2454,6 @@ return { }, ungrammar = { install_info = { - files = { 'src/parser.c' }, revision = 'debd26fed283d80456ebafa33a06957b0c52e451', url = 'https://github.com/tree-sitter-grammars/tree-sitter-ungrammar', }, @@ -2718,7 +2462,6 @@ return { }, unison = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate = true, revision = '59d36a09282be7e4d3374854126590f3dcebee6e', url = 'https://github.com/kylegoetz/tree-sitter-unison', @@ -2728,7 +2471,6 @@ return { }, usd = { install_info = { - files = { 'src/parser.c' }, revision = '4e0875f724d94d0c2ff36f9b8cb0b12f8b20d216', url = 'https://github.com/ColinKennedy/tree-sitter-usd', }, @@ -2737,7 +2479,6 @@ return { }, uxntal = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'ad9b638b914095320de85d59c49ab271603af048', url = 'https://github.com/tree-sitter-grammars/tree-sitter-uxntal', }, @@ -2746,9 +2487,8 @@ return { }, v = { install_info = { - files = { 'src/parser.c' }, location = 'tree_sitter_v', - revision = '7e11a6f8f369df935664fadd2f0c99d90fe3226f', + revision = 'e91f8a42de7842f24f4ce600754f2b6651985fd4', url = 'https://github.com/vlang/v-analyzer', }, maintainers = { '@kkharji', '@amaanq' }, @@ -2756,7 +2496,6 @@ return { }, vala = { install_info = { - files = { 'src/parser.c' }, revision = '8f690bfa639f2b83d1fb938ed3dd98a7ba453e8b', url = 'https://github.com/vala-lang/tree-sitter-vala', }, @@ -2765,7 +2504,6 @@ return { }, vento = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '3321077d7446c1b3b017c294fd56ce028ed817fe', url = 'https://github.com/ventojs/tree-sitter-vento', }, @@ -2774,7 +2512,6 @@ return { }, verilog = { install_info = { - files = { 'src/parser.c' }, revision = '075ebfc84543675f12e79a955f79d717772dcef3', url = 'https://github.com/gmlarumbe/tree-sitter-systemverilog', }, @@ -2791,7 +2528,6 @@ return { }, vhs = { install_info = { - files = { 'src/parser.c' }, revision = '90028bbadb267ead5b87830380f6a825147f0c0f', url = 'https://github.com/charmbracelet/tree-sitter-vhs', }, @@ -2800,7 +2536,6 @@ return { }, vim = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'b448ca63f972ade12c373c808acdd2bf972937db', url = 'https://github.com/tree-sitter-grammars/tree-sitter-vim', }, @@ -2809,8 +2544,7 @@ return { }, vimdoc = { install_info = { - files = { 'src/parser.c' }, - revision = 'b711df784dd43d0a8ed8ddbfca0ddcc3239d94b4', + revision = '2249c44ecd3f5cf22da3dcccfb74f816ddb29245', url = 'https://github.com/neovim/tree-sitter-vimdoc', }, maintainers = { '@clason' }, @@ -2827,7 +2561,6 @@ return { vue = { install_info = { branch = 'main', - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '22bdfa6c9fc0f5ffa44c6e938ec46869ac8a99ff', url = 'https://github.com/tree-sitter-grammars/tree-sitter-vue', @@ -2838,7 +2571,6 @@ return { }, wgsl = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '40259f3c77ea856841a4e0c4c807705f3e4a2b65', url = 'https://github.com/szebniok/tree-sitter-wgsl', }, @@ -2847,7 +2579,6 @@ return { }, wgsl_bevy = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, generate_from_json = true, revision = '1e12c7925c41bb09818d86e30cd78644fde7d31a', url = 'https://github.com/tree-sitter-grammars/tree-sitter-wgsl-bevy', @@ -2857,7 +2588,6 @@ return { }, wing = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'bd1d35cf3e013dc7e189b46a593bdc2b281b0dd7', url = 'https://github.com/winglang/tree-sitter-wing', }, @@ -2866,7 +2596,6 @@ return { }, wit = { install_info = { - files = { 'src/parser.c' }, revision = 'cab94791450524a542324d8cbe8017d69c516d8e', url = 'https://github.com/liamwh/tree-sitter-wit', }, @@ -2875,7 +2604,6 @@ return { }, xcompose = { install_info = { - files = { 'src/parser.c' }, revision = '2383cc69a2c42cfade41c7cb971fb3862bec6df1', url = 'https://github.com/tree-sitter-grammars/tree-sitter-xcompose', }, @@ -2884,7 +2612,6 @@ return { }, xml = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, location = 'xml', revision = '648183d86f6f8ffb240ea11b4c6873f6f45d8b67', url = 'https://github.com/tree-sitter-grammars/tree-sitter-xml', @@ -2903,7 +2630,6 @@ return { }, yaml = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = '7b03feefd36b5f155465ca736c6304aca983b267', url = 'https://github.com/tree-sitter-grammars/tree-sitter-yaml', }, @@ -2912,7 +2638,6 @@ return { }, yang = { install_info = { - files = { 'src/parser.c' }, revision = '2c0e6be8dd4dcb961c345fa35c309ad4f5bd3502', url = 'https://github.com/Hubro/tree-sitter-yang', }, @@ -2921,7 +2646,6 @@ return { }, yuck = { install_info = { - files = { 'src/parser.c', 'src/scanner.c' }, revision = 'e877f6ade4b77d5ef8787075141053631ba12318', url = 'https://github.com/tree-sitter-grammars/tree-sitter-yuck', }, @@ -2930,7 +2654,6 @@ return { }, zathurarc = { install_info = { - files = { 'src/parser.c' }, revision = '6e7c8edfcd6f5f7c12b2fa9ffc6d042f1b6d7068', url = 'https://github.com/Freed-Wu/tree-sitter-zathurarc', }, @@ -2939,7 +2662,6 @@ return { }, zig = { install_info = { - files = { 'src/parser.c' }, revision = '0d08703e4c3f426ec61695d7617415fff97029bd', url = 'https://github.com/tree-sitter-grammars/tree-sitter-zig', }, diff --git a/plugin/filetypes.lua b/plugin/filetypes.lua index a4c236ec3..82b2900ac 100644 --- a/plugin/filetypes.lua +++ b/plugin/filetypes.lua @@ -28,7 +28,7 @@ local filetypes = { latex = { 'tex' }, m68k = { 'asm68k' }, make = { 'automake' }, - markdown = { 'pandoc', 'quarto', 'rmd' }, + markdown = { 'pandoc' }, muttrc = { 'neomuttrc' }, ocaml_interface = { 'ocamlinterface' }, perl = { 'pl' }, diff --git a/scripts/convert-lockfile.lua b/scripts/convert-lockfile.lua index e0a694897..5759c0426 100755 --- a/scripts/convert-lockfile.lua +++ b/scripts/convert-lockfile.lua @@ -9,6 +9,7 @@ local lockfile = vim.json.decode(util.read_file(filename)) --[[@as table<string, for k, p in pairs(parsers) do if p.install_info then p.install_info.revision = lockfile[k].revision + p.install_info.files = nil end end diff --git a/scripts/update-readme.lua b/scripts/update-readme.lua index 9f6f9a3de..5a8b1c17b 100755 --- a/scripts/update-readme.lua +++ b/scripts/update-readme.lua @@ -16,8 +16,8 @@ table.sort(sorted_parsers, function(a, b) end) local generated_text = [[ -Language | Tier | Queries | CLI | Maintainer --------- |:----:|:-------:|:---:| ---------- +Language | Tier | Queries | Maintainer +-------- |:----:|:-------:| ---------- ]] local footnotes = '' @@ -58,11 +58,6 @@ for _, v in ipairs(sorted_parsers) do .. (vim.uv.fs_stat('runtime/queries/' .. v.name .. '/locals.scm') and 'L' or ' ') .. '` | ' - -- CLI - generated_text = generated_text - .. (p.install_info and p.install_info.generate and '✓' or '') - .. ' | ' - -- Maintainer generated_text = generated_text .. (p.maintainers and table.concat(p.maintainers, ', ') or '') |
