aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2024-04-14 16:25:28 +0200
committerChristian Clason <c.clason@uni-graz.at>2025-05-12 18:43:40 +0200
commitc17de5689045f75c6244462182ae3b4b62df02d9 (patch)
treeec7785ec523ad4704d09bb5dc5393e1f00046508
parentfix: vim.tbl_flatten is deprecated (diff)
downloadnvim-treesitter-c17de5689045f75c6244462182ae3b4b62df02d9.tar
nvim-treesitter-c17de5689045f75c6244462182ae3b4b62df02d9.tar.gz
nvim-treesitter-c17de5689045f75c6244462182ae3b4b62df02d9.tar.bz2
nvim-treesitter-c17de5689045f75c6244462182ae3b4b62df02d9.tar.lz
nvim-treesitter-c17de5689045f75c6244462182ae3b4b62df02d9.tar.xz
nvim-treesitter-c17de5689045f75c6244462182ae3b4b62df02d9.tar.zst
nvim-treesitter-c17de5689045f75c6244462182ae3b4b62df02d9.zip
feat!: track parser revision in Lua
Problem: Tracking parser revision in lockfile and allowing override through the parsers module complicates the code. In addition, only revision changes are handled robustly, not changes to other installation info. Solution: Track parser revision in the parsers module directly. Reload parser table on every install or update call. Support modifying parser table in a `User TSUpdate` autocommand.
-rw-r--r--.github/workflows/tests.yml1
-rw-r--r--.github/workflows/update-lockfile.yml55
-rw-r--r--.github/workflows/update-parsers.yml55
-rw-r--r--.github/workflows/update-readme.yml3
-rw-r--r--CONTRIBUTING.md18
-rw-r--r--README.md65
-rw-r--r--SUPPORTED_LANGUAGES.md20
-rw-r--r--TODO.md9
-rw-r--r--doc/nvim-treesitter.txt2
-rw-r--r--lua/nvim-treesitter/_meta/parsers.lua47
-rw-r--r--lua/nvim-treesitter/config.lua82
-rw-r--r--lua/nvim-treesitter/health.lua2
-rw-r--r--lua/nvim-treesitter/install.lua77
-rw-r--r--lua/nvim-treesitter/parsers.lua1379
-rw-r--r--plugin/nvim-treesitter.lua2
-rwxr-xr-xscripts/check-queries.lua2
-rwxr-xr-xscripts/convert-lockfile.lua21
-rwxr-xr-xscripts/update-lockfile.lua64
-rwxr-xr-xscripts/update-parsers.lua65
-rwxr-xr-xscripts/update-readme.lua5
-rw-r--r--tests/query/injections/nix/test-nix-injections.nix2
21 files changed, 994 insertions, 982 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 86c7ad630..f78afe711 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -7,6 +7,7 @@ on:
pull_request:
branches:
- "main"
+ workflow_dispatch:
# Cancel any in-progress CI runs for a PR if it is updated
concurrency:
diff --git a/.github/workflows/update-lockfile.yml b/.github/workflows/update-lockfile.yml
deleted file mode 100644
index 70d2c0c0a..000000000
--- a/.github/workflows/update-lockfile.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-name: Update lockfile
-
-on:
- schedule:
- - cron: "30 6 * * 6"
- workflow_dispatch:
-
-jobs:
- update-lockfile:
- name: Update lockfile
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- with:
- ref: main
-
- - uses: actions/create-github-app-token@v2
- id: app-token
- with:
- app-id: ${{ vars.TOKEN_ID }}
- private-key: ${{ secrets.TOKEN_PRIVATE_KEY }}
-
- - name: Prepare
- env:
- NVIM_TAG: nightly
- run: |
- wget https://github.com/josephburnett/jd/releases/download/v1.7.1/jd-amd64-linux
- mv jd-amd64-linux /tmp/jd
- chmod +x /tmp/jd
- bash scripts/ci-install.sh
-
- - name: Update parsers
- env:
- SKIP_LOCKFILE_UPDATE_FOR_LANGS: "bp,devicetree,dhall,elm,enforce,git_config,nickel,rescript,rust,slint,sql,t32,templ,typespec,verilog,wit"
- run: |
- cp lockfile.json /tmp/old_lockfile.json
- nvim -l ./scripts/update-lockfile.lua
- UPDATED_PARSERS=$(/tmp/jd -f merge /tmp/old_lockfile.json lockfile.json | jq -r 'keys | join(", ")')
- echo "UPDATED_PARSERS=$UPDATED_PARSERS" >> $GITHUB_ENV
-
- - name: Create Pull Request
- uses: peter-evans/create-pull-request@v7
- with:
- token: ${{ steps.app-token.outputs.token }}
- sign-commits: true
- commit-message: "bot(lockfile): update ${{ env.UPDATED_PARSERS }}"
- title: "Update lockfile.json: ${{ env.UPDATED_PARSERS }}"
- body: "[beep boop](https://github.com/peter-evans/create-pull-request)"
- branch: update-lockfile-pr
- base: ${{ github.head_ref }}
-
- - name: Enable Pull Request Automerge
- env:
- GH_TOKEN: ${{ steps.app-token.outputs.token }}
- run: gh pr merge --rebase --auto update-lockfile-pr
diff --git a/.github/workflows/update-parsers.yml b/.github/workflows/update-parsers.yml
new file mode 100644
index 000000000..683c732c6
--- /dev/null
+++ b/.github/workflows/update-parsers.yml
@@ -0,0 +1,55 @@
+name: Update parsers
+
+on:
+ schedule:
+ - cron: "30 6 * * *"
+ workflow_dispatch:
+
+env:
+ BIN_DIR: ${{ github.workspace }}/bin
+
+jobs:
+ update-parsers:
+ name: Update parsers
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ ref: main
+
+ - uses: actions/create-github-app-token@v2
+ id: app-token
+ with:
+ app-id: ${{ vars.TOKEN_ID }}
+ private-key: ${{ secrets.TOKEN_PRIVATE_KEY }}
+
+ - name: Add $BIN_DIR to PATH
+ run: echo "$BIN_DIR" >> $GITHUB_PATH
+
+ - name: Prepare
+ env:
+ NVIM_TAG: nightly
+ run: |
+ bash scripts/ci-install.sh
+ wget --directory-prefix="$BIN_DIR" https://github.com/JohnnyMorganz/StyLua/releases/latest/download/stylua-linux-x86_64.zip
+ (cd "$BIN_DIR"; unzip stylua*.zip)
+
+ - name: Update parsers
+ run: ./scripts/update-parsers.lua
+
+ - name: Create Pull Request
+ uses: peter-evans/create-pull-request@v7
+ with:
+ add-paths: lua/nvim-treesitter/parsers.lua
+ token: ${{ steps.app-token.outputs.token }}
+ sign-commits: true
+ commit-message: "bot(parsers): update ${{ env.UPDATED_PARSERS }}"
+ title: "Update parsers: ${{ env.UPDATED_PARSERS }}"
+ body: "[beep boop](https://github.com/peter-evans/create-pull-request)"
+ branch: update-parsers-pr
+ base: ${{ github.head_ref }}
+
+ - name: Enable Pull Request Automerge
+ env:
+ GH_TOKEN: ${{ steps.app-token.outputs.token }}
+ run: gh pr merge --rebase --auto update-parsers-pr
diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml
index 849bb9814..335756619 100644
--- a/.github/workflows/update-readme.yml
+++ b/.github/workflows/update-readme.yml
@@ -32,10 +32,11 @@ jobs:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
with:
+ add-paths: SUPPORTED_LANGUAGES.md
token: ${{ steps.app-token.outputs.token }}
sign-commits: true
commit-message: "bot(readme): update"
- title: Update README
+ title: Update SUPPORTED_LANGUAGES.md
body: "[beep boop](https://github.com/peter-evans/create-pull-request)"
branch: update-readme-pr
base: ${{ github.head_ref }}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d043e6b08..0ea7dcdbf 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -13,17 +13,17 @@ Depending on which part of the plugin you want to contribute to, please read the
To add a new parser, edit the following files:
-1. In `lua/parsers.lua`, add an entry to the `M.configs` table of the following form:
+1. In `lua/parsers.lua`, add an entry to the returned table of the following form:
```lua
zimbu = {
install_info = {
- url = 'https://github.com/zimbulang/tree-sitter-zimbu', -- local path or git repo
+ url = 'https://github.com/zimbulang/tree-sitter-zimbu', -- git repo; use `path` for local path
files = { 'src/parser.c' }, -- note that some parsers also require src/scanner.c
-- optional entries:
branch = 'develop', -- only needed if different from default branch
location = 'parser', -- only needed if the parser is in subdirectory of a "monorepo"
- revision = 'v2.1', -- tag or commit hash; bypasses automated updates
+ revision = 'v2.1', -- tag or commit hash, will be updated automatically
generate = true, -- only needed if repo does not contain pre-generated src/parser.c
generate_from_json = true, -- only needed if grammar.js has npm-installed dependencies
},
@@ -31,21 +31,13 @@ zimbu = {
tier = 3, -- community-contributed parser
-- optional entries:
requires = { 'vim' }, -- if the queries inherit from another language
- readme_note = "an example language", -- if the
+ readme_note = "an example language",
}
```
**Note:** The "maintainers" here refers to the person maintaining the **queries** in `nvim-treesitter`, not the parser maintainers (who likely don't use Neovim). The maintainers' duty is to review issues and PRs related to the query and to keep them updated with respect to parser changes.
-2. In `lockfile.json`, add an entry for the current commit your queries are compatible with:
-
-```json
- "zimbu": {
- "revision": "0d08703e4c3f426ec61695d7617415fff97029bd"
- },
-```
-
-3. If the parser name is not the same as the Vim filetype, add an entry to the `filetypes` table in `plugin/filetypes.lua`:
+2. If the parser name is not the same as the Vim filetype, add an entry to the `filetypes` table in `plugin/filetypes.lua`:
```lua
zimbu = { 'zu' },
diff --git a/README.md b/README.md
index 6e3a52845..07a6c930e 100644
--- a/README.md
+++ b/README.md
@@ -126,28 +126,40 @@ These queries can be used to look up definitions and references to identifiers i
If you have a parser that is not on the list of supported languages (either as a repository on Github or in a local directory), you can add it manually for use by `nvim-treesitter` as follows:
-1. Clone the repository or [create a new project](https://tree-sitter.github.io/tree-sitter/creating-parsers#project-setup) in, say, `~/projects/tree-sitter-zimbu`. Make sure that the `tree-sitter-cli` executable is installed and in your path; see <https://tree-sitter.github.io/tree-sitter/creating-parsers#installation> for installation instructions.
-2. Run `tree-sitter generate` in this directory (followed by `tree-sitter test` for good measure).
-3. Add the following snippet to your `init.lua`:
+1. Add the following snippet in a `User TSUpdate` autocommand:
```lua
-local parser_config = require('nvim-treesitter.parsers').configs
-parser_config.zimbu = {
- install_info = {
- url = '~/projects/tree-sitter-zimbu', -- local path or git repo
- files = { 'src/parser.c' }, -- note that some parsers also require src/scanner.c
- -- optional entries:
- branch = 'develop', -- only needed if different from default branch
- location= 'parser', -- only needed if the parser is in subdirectory of a "monorepo"
- generate = true, -- only needed if repo does not contain pre-generated src/parser.c
- generate_from_json = true, -- only needed if parser has npm dependencies
- },
-}
+vim.api.nvim_create_autocmd('User', { pattern = 'TSUpdate',
+callback = function()
+ require('nvim-treesitter.parsers').zimbu = {
+ install_info = {
+ url = 'https://github.com/zimbulang/tree-sitter-zimbu',
+ files = { 'src/parser.c' }, -- note that some parsers also require src/scanner.c
+ revision = <sha>, -- commit hash for revision to check out; HEAD if missing
+ -- optional entries:
+ branch = 'develop', -- only needed if different from default branch
+ location = 'parser', -- only needed if the parser is in subdirectory of a "monorepo"
+ generate = true, -- only needed if repo does not contain pre-generated src/parser.c
+ generate_from_json = true, -- only needed if parser has npm dependencies
+ },
+ }
+end})
```
-If you use a git repository for your parser and want to use a specific version, you can set the `revision` key
-in the `install_info` table for you parser config.
-4. If the parser name differs from the filetype(s) used by Neovim, you need to register the parser via
+Alternatively, if you have a local checkout, you can instead use
+```lua
+ install_info = {
+ path = '~/parsers/tree-sitter-zimbu',
+ files = { 'src/parser.c' }, -- note that some parsers also require src/scanner.c
+ -- optional entries
+ location = 'parser', -- only needed if the parser is in subdirectory of a "monorepo"
+ generate = true, -- only needed if repo does not contain pre-generated src/parser.c
+ generate_from_json = true, -- only needed if parser has npm dependencies
+ },
+```
+This will always use the state of the directory as-is (i.e., `branch` and `revision` will be ignored).
+
+2. If the parser name differs from the filetype(s) used by Neovim, you need to register the parser via
```lua
vim.treesitter.language.register('zimbu', { 'zu' })
@@ -155,13 +167,20 @@ vim.treesitter.language.register('zimbu', { 'zu' })
If Neovim does not detect your language's filetype by default, you can use [Neovim's `vim.filetype.add()`](<https://neovim.io/doc/user/lua.html#vim.filetype.add()>) to add a custom detection rule.
-5. Start `nvim` and `:TSInstall zimbu`.
-
-You can also skip step 2 and use `:TSInstallFromGrammar zimbu` to install directly from a `grammar.js` in the top-level directory specified by `url`.
-Once the parser is installed, you can update it (from the latest revision of the `main` branch if `url` is a Github repository) with `:TSUpdate zimbu`.
+3. Start `nvim` and `:TSInstall zimbu`.
**Note:** Parsers using external scanner need to be written in C. C++ scanners are no longer supported.
+### Modifying parsers
+
+You can use the same approach for overriding parser information. E.g., if you always want to generate the `lua` parser from grammar, add
+```lua
+vim.api.nvim_create_autocmd('User', { pattern = 'TSUpdate',
+callback = function()
+ require('nvim-treesitter.parsers').lua.install_info.generate = true
+end})
+```
+
## Adding queries
Queries can be placed anywhere in your `runtimepath` under `queries/<language>`, with earlier directories taking precedence unless the queries are marked with `; extends`; see `:h treesitter-query`.
@@ -231,7 +250,7 @@ require("nvim-treesitter.install").prefer_git = true
In your Lua config:
```lua
-for _, config in pairs(require("nvim-treesitter.parsers").configs) do
+for _, config in pairs(require("nvim-treesitter.parsers")) do
config.install_info.url = config.install_info.url:gsub("https://github.com/", "something else")
end
diff --git a/SUPPORTED_LANGUAGES.md b/SUPPORTED_LANGUAGES.md
index a63f603e7..d2ba24468 100644
--- a/SUPPORTED_LANGUAGES.md
+++ b/SUPPORTED_LANGUAGES.md
@@ -26,9 +26,9 @@ Language | Tier | Queries | CLI | Maintainer
[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.git) | unsupported | `H    ` | | @gabmus
+[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` | | @Luxed
+[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
@@ -77,7 +77,7 @@ ecma (queries only)[^ecma] | community | `HFIJL` | | @steelsojka
[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.git) | community | `HFI L` | | @jirgn
+[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
@@ -102,7 +102,7 @@ ecma (queries only)[^ecma] | community | `HFIJL` | | @steelsojka
[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 J ` | | @mrcjkb
+[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
@@ -129,7 +129,7 @@ html_tags (queries only)[^html_tags] | community | `H IJ ` | | @TravonteD
[jsdoc](https://github.com/tree-sitter/tree-sitter-jsdoc) | core | `H    ` | | @steelsojka
[json](https://github.com/tree-sitter/tree-sitter-json) | core | `HFI L` | | @steelsojka
[json5](https://github.com/Joakker/tree-sitter-json5) | community | `H  J ` | | @Joakker
-[jsonc](https://gitlab.com/WhyNotHugo/tree-sitter-jsonc.git) | community | `HFIJL` | | @WhyNotHugo
+[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
@@ -139,7 +139,7 @@ jsx (queries only)[^jsx] | community | `HFIJ ` | | @steelsojka
[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 | `H  JL` | | @traxys
+[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
@@ -175,7 +175,7 @@ jsx (queries only)[^jsx] | community | `HFIJ ` | | @steelsojka
[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.git) | community | `HFIJL` | | @Isopod
+[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
@@ -245,8 +245,9 @@ jsx (queries only)[^jsx] | community | `HFIJ ` | | @steelsojka
[swift](https://github.com/alex-pinkus/tree-sitter-swift) | community | `H I L` | ✓ | @alex-pinkus
[sxhkdrc](https://github.com/RaafatTurki/tree-sitter-sxhkdrc) | community | `HF J ` | | @RaafatTurki
[systemtap](https://github.com/ok-ryoko/tree-sitter-systemtap) | community | `HF JL` | | @ok-ryoko
-[t32](https://gitlab.com/xasc/tree-sitter-t32.git) | community | `HFIJL` | | @xasc
+[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
@@ -256,13 +257,14 @@ jsx (queries only)[^jsx] | community | `HFIJ ` | | @steelsojka
[tiger](https://github.com/ambroisie/tree-sitter-tiger) | community | `HFIJL` | | @ambroisie
[tlaplus](https://github.com/tlaplus-community/tree-sitter-tlaplus) | community | `HF JL` | | @ahelwer, @susliko
[tmux](https://github.com/Freed-Wu/tree-sitter-tmux) | community | `H  J ` | | @Freed-Wu
-[todotxt](https://github.com/arnarg/tree-sitter-todotxt.git) | community | `H    ` | | @arnarg
+[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
diff --git a/TODO.md b/TODO.md
index ff2b05001..56d8c88cf 100644
--- a/TODO.md
+++ b/TODO.md
@@ -4,13 +4,16 @@ This document lists the planned and finished changes in this rewrite towards [Nv
## TODO
-- [ ] **`locals.lua`:** move to `nvim-treesitter-refactor`?
-- [ ] **`parsers.lua`:** include revision? (<https://stackoverflow.com/questions/64260981>)
-- [ ] **update-lockfile:** allow specifying version in addition to commit hash (for Tier 1)
+- [ ] **`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
+- [ ] **`locals.lua`:** move to `nvim-treesitter-refactor`?
- [ ] **textobjects:** include simple(!) function, queries? (check Helix)
- [ ] **downstream:** adapt to breaking changes (`nvim-treesitter-refactor`)
diff --git a/doc/nvim-treesitter.txt b/doc/nvim-treesitter.txt
index 8b530550c..ef55eb2d8 100644
--- a/doc/nvim-treesitter.txt
+++ b/doc/nvim-treesitter.txt
@@ -37,7 +37,7 @@ To get a list of supported languages
To install supported parsers and queries, put this in your `init.lua` file:
>lua
- require'nvim-treesitter.configs'.setup {
+ require'nvim-treesitter.config'.setup {
-- A directory to install the parsers and queries to.
-- Defaults to the `stdpath('data')/site` dir.
install_dir = "/some/path/to/store/parsers",
diff --git a/lua/nvim-treesitter/_meta/parsers.lua b/lua/nvim-treesitter/_meta/parsers.lua
new file mode 100644
index 000000000..09e4d1846
--- /dev/null
+++ b/lua/nvim-treesitter/_meta/parsers.lua
@@ -0,0 +1,47 @@
+---@meta
+error('Cannot require a meta file')
+
+---@class InstallInfo
+---
+---URL of parser repo (Github/Gitlab)
+---@field url string
+---
+---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
+---
+---Location of `grammar.js` in repo (if not at root, e.g., in a monorepo)
+---@field location? string
+---
+---Repo does not contain a `parser.c`; must be generated from grammar first
+---@field generate? boolean
+---
+---Parser needs to be generated from `grammar.json` (generating from `grammar.js` requires npm)
+---@field generate_from_json? boolean
+---
+---Parser repo is a local directory; overrides `url`, `revision`, and `branch`
+---@field path? string
+
+---@class ParserInfo
+---
+---Information necessary to build and install the parser (empty for query-only language)
+---@field install_info? InstallInfo
+---
+---List of Github users maintaining the queries for Neovim
+---@field maintainers? string[]
+---
+---List of other languages to install (e.g., if queries inherit from them)
+---@field requires? string[]
+---
+---Language support tier, maps to "core", "stable", "community", "unmaintained"
+---@field tier integer
+---
+---Explanatory footnote text to add in SUPPORTED_LANGUAGES.md
+---@field readme_note? string
+
+---@alias nvim-ts.parsers table<string,ParserInfo>
diff --git a/lua/nvim-treesitter/config.lua b/lua/nvim-treesitter/config.lua
index a52c6a10e..4c662bab6 100644
--- a/lua/nvim-treesitter/config.lua
+++ b/lua/nvim-treesitter/config.lua
@@ -1,5 +1,7 @@
local M = {}
+M.tiers = { 'stable', 'core', 'community', 'unsupported' }
+
---@class TSConfig
---@field auto_install boolean
---@field ensure_install string[]
@@ -33,7 +35,7 @@ function M.setup(user_data)
local ft = vim.bo[buf].filetype
local lang = vim.treesitter.language.get_lang(ft) or ft
if
- require('nvim-treesitter.parsers').configs[lang]
+ require('nvim-treesitter.parsers')[lang]
and not vim.list_contains(M.installed_parsers(), lang)
and not vim.list_contains(config.ignore_install, lang)
then
@@ -51,7 +53,7 @@ function M.setup(user_data)
local to_install = M.norm_languages(config.ensure_install, { ignored = true, installed = true })
if #to_install > 0 then
- require('nvim-treesitter.install').install(to_install)
+ require('nvim-treesitter.install').install(to_install, { force = true })
end
end
end
@@ -85,6 +87,52 @@ function M.installed_parsers()
return installed
end
+-- Get a list of all available parsers
+---@param tier integer? only get parsers of specified tier
+---@return string[]
+function M.get_available(tier)
+ local parsers = require('nvim-treesitter.parsers')
+ --- @type string[]
+ local languages = vim.tbl_keys(parsers)
+ table.sort(languages)
+ if tier then
+ languages = vim.tbl_filter(
+ --- @param p string
+ function(p)
+ return parsers[p].tier == tier
+ end,
+ 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
+
+local function expand_tiers(list)
+ for i, tier in ipairs(M.tiers) do
+ if vim.list_contains(list, tier) then
+ list = vim.tbl_filter(
+ --- @param l string
+ function(l)
+ return l ~= tier
+ end,
+ list
+ )
+ vim.list_extend(list, M.get_available(i))
+ end
+ end
+
+ return list
+end
+
---Normalize languages
---@param languages? string[]|string
---@param skip? { ignored: boolean, missing: boolean, installed: boolean, dependencies: boolean }
@@ -96,32 +144,11 @@ function M.norm_languages(languages, skip)
languages = { languages }
end
- local parsers = require('nvim-treesitter.parsers')
-
if vim.list_contains(languages, 'all') then
if skip and skip.missing then
return M.installed_parsers()
end
- languages = parsers.get_available()
- end
-
- -- keep local to avoid leaking parsers module
- --- @param list string[]
- local function expand_tiers(list)
- for i, tier in ipairs(parsers.tiers) do
- if vim.list_contains(list, tier) then
- list = vim.tbl_filter(
- --- @param l string
- function(l)
- return l ~= tier
- end,
- list
- )
- vim.list_extend(list, parsers.get_available(i))
- end
- end
-
- return list
+ languages = M.get_available()
end
languages = expand_tiers(languages)
@@ -159,19 +186,20 @@ function M.norm_languages(languages, skip)
)
end
+ local parsers = require('nvim-treesitter.parsers')
languages = vim.tbl_filter(
--- @param v string
function(v)
-- TODO(lewis6991): warn of any unknown parsers?
- return parsers.configs[v] ~= nil
+ return parsers[v] ~= nil
end,
languages
)
if not (skip and skip.dependencies) then
for _, lang in pairs(languages) do
- if parsers.configs[lang].requires then
- vim.list_extend(languages, parsers.configs[lang].requires)
+ if parsers[lang].requires then
+ vim.list_extend(languages, parsers[lang].requires)
end
end
end
diff --git a/lua/nvim-treesitter/health.lua b/lua/nvim-treesitter/health.lua
index 5d3a23300..58ede835a 100644
--- a/lua/nvim-treesitter/health.lua
+++ b/lua/nvim-treesitter/health.lua
@@ -134,7 +134,7 @@ function M.check()
health.start('Installed languages' .. string.rep(' ', 5) .. 'H L F I J')
local languages = config.installed_parsers()
for _, lang in pairs(languages) do
- local parser = parsers.configs[lang]
+ local parser = parsers[lang]
local out = lang .. string.rep(' ', 22 - #lang)
if parser.install_info then
for _, query_group in pairs(M.bundled_queries) do
diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua
index 6918a1820..8b3dc82fc 100644
--- a/lua/nvim-treesitter/install.lua
+++ b/lua/nvim-treesitter/install.lua
@@ -25,12 +25,6 @@ local uv_unlink = a.wrap(uv.fs_unlink, 2)
local M = {}
----@class LockfileInfo
----@field revision string
-
----@type table<string, LockfileInfo>
-local lockfile = {}
-
local max_jobs = 10
local iswin = uv.os_uname().sysname == 'Windows_NT'
@@ -63,7 +57,7 @@ end
---@param lang string
---@return InstallInfo?
local function get_parser_install_info(lang)
- local parser_config = parsers.configs[lang]
+ local parser_config = parsers[lang]
if not parser_config then
log.error('Parser not available for language "' .. lang .. '"')
@@ -80,24 +74,6 @@ end
---@param lang string
---@return string?
-local function get_target_revision(lang)
- local info = get_parser_install_info(lang)
- if info and info.revision then
- return info.revision
- end
-
- if #lockfile == 0 then
- local filename = M.get_package_path('lockfile.json')
- lockfile = vim.json.decode(util.read_file(filename)) --[[@as table<string, LockfileInfo>]]
- end
-
- if lockfile[lang] then
- return lockfile[lang].revision
- end
-end
-
----@param lang string
----@return string?
local function get_installed_revision(lang)
local lang_file = fs.joinpath(config.get_install_dir('parser-info'), lang .. '.revision')
return util.read_file(lang_file)
@@ -106,9 +82,9 @@ end
---@param lang string
---@return boolean
local function needs_update(lang)
- local revision = get_target_revision(lang)
- if revision then
- return revision ~= get_installed_revision(lang)
+ local info = get_parser_install_info(lang)
+ if info and info.revision then
+ return info.revision ~= get_installed_revision(lang)
end
-- No revision. Check the queries link to the same place
@@ -415,7 +391,7 @@ local function install_lang0(lang, cache_dir, install_dir, generate)
local project_name = 'tree-sitter-' .. lang
- local revision = get_target_revision(lang)
+ local revision = repo.revision
local compile_location ---@type string
if repo.path then
@@ -525,40 +501,33 @@ local function install_lang(lang, cache_dir, install_dir, force, generate)
return status
end
+--- Reload the parser table and user modifications in case of update
+local function reload_parsers()
+ package.loaded['nvim-treesitter.parsers'] = nil
+ parsers = require('nvim-treesitter.parsers')
+ vim.api.nvim_exec_autocmds('User', { pattern = 'TSUpdate' })
+end
+
---@class InstallOptions
---@field force? boolean
---@field generate? boolean
----@field skip? table
--- Install a parser
---- @param languages? string[]|string
+--- @param languages string[]
--- @param options? InstallOptions
--- @param _callback? fun()
local function install(languages, options, _callback)
options = options or {}
- local force = options.force
- local generate = options.generate
- local skip = options.skip
local cache_dir = vim.fs.normalize(fn.stdpath('cache'))
local install_dir = config.get_install_dir('parser')
- if not languages or type(languages) == 'string' then
- languages = { languages }
- end
-
- if languages[1] == 'all' then
- force = true
- end
-
- languages = config.norm_languages(languages, skip)
-
local tasks = {} --- @type fun()[]
local done = 0
for _, lang in ipairs(languages) do
tasks[#tasks + 1] = a.sync(function()
a.main()
- local status = install_lang(lang, cache_dir, install_dir, force, generate)
+ local status = install_lang(lang, cache_dir, install_dir, options.force, options.generate)
if status ~= 'failed' then
done = done + 1
end
@@ -572,7 +541,20 @@ local function install(languages, options, _callback)
end
end
-M.install = a.sync(install, 2)
+M.install = a.sync(function(languages, options, _callback)
+ reload_parsers()
+ if not languages or #languages == 0 then
+ languages = 'all'
+ end
+
+ languages = config.norm_languages(languages, options and options.skip)
+
+ if languages[1] == 'all' then
+ options.force = true
+ end
+
+ install(languages, options)
+end, 2)
---@class UpdateOptions
@@ -580,8 +562,7 @@ M.install = a.sync(install, 2)
---@param _options? UpdateOptions
---@param _callback function
M.update = a.sync(function(languages, _options, _callback)
- M.lockfile = {}
-
+ reload_parsers()
if not languages or #languages == 0 then
languages = 'all'
end
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua
index 4e3222563..83011c7cb 100644
--- a/lua/nvim-treesitter/parsers.lua
+++ b/lua/nvim-treesitter/parsers.lua
@@ -1,167 +1,146 @@
----@class InstallInfo
----@field path? string
----@field url string
----@field branch? string
----@field revision? string
----@field files string[]
----@field generate? boolean
----@field generate_from_json? boolean
----@field location? string
-
----@class ParserInfo
----@field install_info? InstallInfo
----@field maintainers? string[]
----@field requires? string[]
----@field tier integer
----@field readme_note? string
-
-local M = {}
-
-M.tiers = { 'stable', 'core', 'community', 'unsupported' }
-
----@type table<string,ParserInfo>
-M.configs = {
+---@type nvim-ts.parsers
+return {
ada = {
install_info = {
- url = 'https://github.com/briot/tree-sitter-ada',
files = { 'src/parser.c' },
+ revision = 'e8e2515465cc2d7c444498e68bdb9f1d86767f95',
+ url = 'https://github.com/briot/tree-sitter-ada',
},
maintainers = { '@briot' },
tier = 3,
},
-
agda = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-agda',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'd3dc807692e6bca671d4491b3bf5c67eeca8c016',
+ url = 'https://github.com/tree-sitter/tree-sitter-agda',
},
maintainers = { '@Decodetalkers' },
tier = 2,
},
-
angular = {
install_info = {
- url = 'https://github.com/dlvandenberg/tree-sitter-angular',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '10f21f3f1b10584e62ecc113ab3cda1196d0ceb8',
+ url = 'https://github.com/dlvandenberg/tree-sitter-angular',
},
maintainers = { '@dlvandenberg' },
requires = { 'html', 'html_tags' },
tier = 3,
},
-
apex = {
install_info = {
- url = 'https://github.com/aheber/tree-sitter-sfapex',
files = { 'src/parser.c' },
location = 'apex',
+ revision = 'c99ad4b16d112fea91745e3f1b769754239fdaba',
+ url = 'https://github.com/aheber/tree-sitter-sfapex',
},
maintainers = { '@aheber', '@xixiafinland' },
tier = 3,
},
-
arduino = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-arduino',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = 'afb34b2c65f507932c5c6ddbf0d5a9ca6a772f2f',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-arduino',
},
maintainers = { '@ObserverOfTime' },
requires = { 'cpp' },
tier = 2,
},
-
asm = {
install_info = {
- url = 'https://github.com/RubixDev/tree-sitter-asm',
files = { 'src/parser.c' },
+ revision = 'b0306e9bb2ebe01c6562f1aef265cc42ccc53070',
+ url = 'https://github.com/RubixDev/tree-sitter-asm',
},
maintainers = { '@RubixDev' },
tier = 3,
},
-
astro = {
install_info = {
- url = 'https://github.com/virchau13/tree-sitter-astro',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '4be180759ec13651f72bacee65fa477c64222a1a',
+ url = 'https://github.com/virchau13/tree-sitter-astro',
},
maintainers = { '@virchau13' },
requires = { 'html', 'html_tags' },
tier = 3,
},
-
authzed = {
install_info = {
- url = 'https://github.com/mleonidas/tree-sitter-authzed',
files = { 'src/parser.c' },
+ revision = '1dec7e1af96c56924e3322cd85fdce15d0a31d00',
+ url = 'https://github.com/mleonidas/tree-sitter-authzed',
},
maintainers = { '@mattpolzin' },
tier = 3,
},
-
awk = {
install_info = {
- url = 'https://github.com/Beaglefoot/tree-sitter-awk',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'ba7472152d79a8c916550c80fdbfd5724d07a0c9',
+ url = 'https://github.com/Beaglefoot/tree-sitter-awk',
},
tier = 4,
},
-
bash = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-bash',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '2fbd860f802802ca76a6661ce025b3a3bca2d3ed',
+ url = 'https://github.com/tree-sitter/tree-sitter-bash',
},
maintainers = { '@TravonteD' },
tier = 1,
},
-
bass = {
install_info = {
- url = 'https://github.com/vito/tree-sitter-bass',
files = { 'src/parser.c' },
+ revision = '28dc7059722be090d04cd751aed915b2fee2f89a',
+ url = 'https://github.com/vito/tree-sitter-bass',
},
maintainers = { '@amaanq' },
tier = 3,
},
-
beancount = {
install_info = {
- url = 'https://github.com/polarmutex/tree-sitter-beancount',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'c25f8034c977681653a8acd541c8b4877a58f474',
+ url = 'https://github.com/polarmutex/tree-sitter-beancount',
},
maintainers = { '@polarmutex' },
tier = 3,
},
-
bibtex = {
install_info = {
- url = 'https://github.com/latex-lsp/tree-sitter-bibtex',
files = { 'src/parser.c' },
+ revision = 'ccfd77db0ed799b6c22c214fe9d2937f47bc8b34',
+ url = 'https://github.com/latex-lsp/tree-sitter-bibtex',
},
maintainers = { '@theHamsta', '@clason' },
tier = 3,
},
-
bicep = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-bicep',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '0092c7d1bd6bb22ce0a6f78497d50ea2b87f19c0',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-bicep',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
bitbake = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-bitbake',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'a5d04fdb5a69a02b8fa8eb5525a60dfb5309b73b',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-bitbake',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
blade = {
install_info = {
url = 'https://github.com/EmranMR/tree-sitter-blade',
@@ -172,21 +151,22 @@ M.configs = {
},
blueprint = {
install_info = {
- url = 'https://gitlab.com/gabmus/tree-sitter-blueprint.git',
files = { 'src/parser.c' },
+ revision = '60ba73739c6083c693d86a1a7cf039c07eb4ed59',
+ url = 'https://gitlab.com/gabmus/tree-sitter-blueprint',
},
maintainers = { '@gabmus' },
tier = 4,
},
-
bp = {
install_info = {
- url = 'https://github.com/ambroisie/tree-sitter-bp',
files = { 'src/parser.c' },
+ revision = '2326d709fb9cf73cf124fdbc803c267f851721a4',
+ url = 'https://github.com/ambroisie/tree-sitter-bp',
},
maintainers = { '@ambroisie' },
- tier = 3,
readme_note = 'Android Blueprint',
+ tier = 3,
},
brightscript = {
install_info = {
@@ -198,31 +178,31 @@ M.configs = {
},
c = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-c',
files = { 'src/parser.c' },
+ revision = 'deca017a554045b4c203e7ddff39ae64ff05e071',
+ url = 'https://github.com/tree-sitter/tree-sitter-c',
},
maintainers = { '@amaanq' },
tier = 1,
},
-
c_sharp = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-c-sharp',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '82fa8f05f41a33e9bc830f85d74a9548f0291738',
+ url = 'https://github.com/tree-sitter/tree-sitter-c-sharp',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
cairo = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-cairo',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '6238f609bea233040fe927858156dee5515a0745',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-cairo',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
caddy = {
install_info = {
url = 'https://github.com/opa-oz/tree-sitter-caddy',
@@ -231,25 +211,24 @@ M.configs = {
maintainers = { '@opa-oz' },
tier = 3,
},
-
capnp = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-capnp',
files = { 'src/parser.c' },
+ revision = '7b0883c03e5edd34ef7bcf703194204299d7099f',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-capnp',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
chatito = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-chatito',
files = { 'src/parser.c' },
+ revision = 'a461f20dedb43905febb12c1635bc7d2e43e96f0',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-chatito',
},
maintainers = { '@ObserverOfTime' },
tier = 2,
},
-
circom = {
install_info = {
url = 'https://github.com/Decurity/tree-sitter-circom',
@@ -258,122 +237,121 @@ M.configs = {
maintainers = { '@alexandr-martirosyan' },
tier = 3,
},
-
clojure = {
install_info = {
- url = 'https://github.com/sogaiu/tree-sitter-clojure',
files = { 'src/parser.c' },
+ revision = 'f4236d4da8aa92bc105d9c118746474c608e6af7',
+ url = 'https://github.com/sogaiu/tree-sitter-clojure',
},
maintainers = { '@NoahTheDuke' },
tier = 3,
},
-
cmake = {
install_info = {
- url = 'https://github.com/uyha/tree-sitter-cmake',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '20ffd6d3b4da1acdbf2d08204b2130a5b2f7c4b3',
+ url = 'https://github.com/uyha/tree-sitter-cmake',
},
maintainers = { '@uyha' },
tier = 3,
},
-
comment = {
install_info = {
- url = 'https://github.com/stsewd/tree-sitter-comment',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '5d8b29f6ef3bf64d59430dcfe76b31cc44b5abfd',
+ url = 'https://github.com/stsewd/tree-sitter-comment',
},
maintainers = { '@stsewd' },
tier = 3,
},
-
commonlisp = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-commonlisp',
files = { 'src/parser.c' },
generate_from_json = true,
+ revision = 'bf2a65b1c119898a1a17389e07f2a399c05cdc0c',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-commonlisp',
},
maintainers = { '@theHamsta' },
tier = 2,
},
-
cooklang = {
install_info = {
- url = 'https://github.com/addcninblue/tree-sitter-cooklang',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '4ebe237c1cf64cf3826fc249e9ec0988fe07e58e',
+ url = 'https://github.com/addcninblue/tree-sitter-cooklang',
},
maintainers = { '@addcninblue' },
tier = 3,
},
-
corn = {
install_info = {
- url = 'https://github.com/jakestanger/tree-sitter-corn',
files = { 'src/parser.c' },
+ revision = '604d73c38d4c28ca68e9e441ffd405d68cb63051',
+ url = 'https://github.com/jakestanger/tree-sitter-corn',
},
maintainers = { '@jakestanger' },
tier = 3,
},
-
cpon = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-cpon',
files = { 'src/parser.c' },
+ revision = '594289eadfec719198e560f9d7fd243c4db678d5',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-cpon',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
cpp = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-cpp',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = 'd29fbff09a8c9ff4f3074de2595dfca12cb33da9',
+ url = 'https://github.com/tree-sitter/tree-sitter-cpp',
},
maintainers = { '@theHamsta' },
requires = { 'c' },
tier = 2,
},
-
css = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-css',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'f6be52c3d1cdb1c5e4dd7d8bce0a57497f55d6af',
+ url = 'https://github.com/tree-sitter/tree-sitter-css',
},
maintainers = { '@TravonteD' },
tier = 2,
},
-
csv = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-csv',
files = { 'src/parser.c' },
location = 'csv',
+ revision = '7eb7297823605392d2bbcc4c09b1cd18d6fa9529',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-csv',
},
maintainers = { '@amaanq' },
requires = { 'tsv' },
tier = 2,
},
-
cuda = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-cuda',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '1f188eff83b562ffae36d13e1b804ec6f3b9f1d9',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-cuda',
},
maintainers = { '@theHamsta' },
requires = { 'cpp' },
tier = 2,
},
-
cue = {
install_info = {
- url = 'https://github.com/eonpatapon/tree-sitter-cue',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '8a5f273bfa281c66354da562f2307c2d394b6c81',
+ url = 'https://github.com/eonpatapon/tree-sitter-cue',
},
maintainers = { '@amaanq' },
tier = 3,
},
-
cylc = {
install_info = {
url = 'https://github.com/elliotfontaine/tree-sitter-cylc',
@@ -382,141 +360,138 @@ M.configs = {
maintainers = { '@elliotfontaine' },
tier = 3,
},
-
d = {
install_info = {
- url = 'https://github.com/gdamore/tree-sitter-d',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '750dde90ed9cdbd82493bc28478d8ab1976b0e9f',
+ url = 'https://github.com/gdamore/tree-sitter-d',
},
- tier = 3,
maintainers = { '@amaanq' },
+ tier = 3,
},
-
dart = {
install_info = {
- url = 'https://github.com/UserNobody14/tree-sitter-dart',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'ac0bb849ccd1a923963af47573b5e396736ff582',
+ url = 'https://github.com/UserNobody14/tree-sitter-dart',
},
maintainers = { '@akinsho' },
tier = 3,
},
-
desktop = {
install_info = {
- url = 'https://github.com/ValdezFOmar/tree-sitter-desktop',
files = { 'src/parser.c' },
+ url = 'https://github.com/ValdezFOmar/tree-sitter-desktop',
},
maintainers = { '@ValdezFOmar' },
tier = 3,
},
-
devicetree = {
install_info = {
- url = 'https://github.com/joelspadin/tree-sitter-devicetree',
files = { 'src/parser.c' },
+ revision = 'fb07e6044ffd36932c57a5be01ba5d6b8a9337bb',
+ url = 'https://github.com/joelspadin/tree-sitter-devicetree',
},
maintainers = { '@jedrzejboczar' },
tier = 3,
},
-
dhall = {
install_info = {
- url = 'https://github.com/jbellerb/tree-sitter-dhall',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'affb6ee38d629c9296749767ab832d69bb0d9ea8',
+ url = 'https://github.com/jbellerb/tree-sitter-dhall',
},
maintainers = { '@amaanq' },
tier = 3,
},
-
diff = {
install_info = {
- url = 'https://github.com/the-mikedavis/tree-sitter-diff',
files = { 'src/parser.c' },
+ revision = '629676fc3919606964231b2c7b9677d6998a2cb4',
+ url = 'https://github.com/the-mikedavis/tree-sitter-diff',
},
maintainers = { '@gbprod' },
tier = 3,
},
-
disassembly = {
install_info = {
- url = 'https://github.com/ColinKennedy/tree-sitter-disassembly',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '0229c0211dba909c5d45129ac784a3f4d49c243a',
+ url = 'https://github.com/ColinKennedy/tree-sitter-disassembly',
},
maintainers = { '@ColinKennedy' },
tier = 3,
},
-
djot = {
install_info = {
- url = 'https://github.com/treeman/tree-sitter-djot',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '0e9a836ec47612ade15645fb1680adb549894a6c',
+ url = 'https://github.com/treeman/tree-sitter-djot',
},
maintainers = { '@NoahTheDuke' },
tier = 3,
},
-
dockerfile = {
install_info = {
- url = 'https://github.com/camdencheek/tree-sitter-dockerfile',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '087daa20438a6cc01fa5e6fe6906d77c869d19fe',
+ url = 'https://github.com/camdencheek/tree-sitter-dockerfile',
},
maintainers = { '@camdencheek' },
tier = 3,
},
-
dot = {
install_info = {
- url = 'https://github.com/rydesun/tree-sitter-dot',
files = { 'src/parser.c' },
+ revision = '9ab85550c896d8b294d9b9ca1e30698736f08cea',
+ url = 'https://github.com/rydesun/tree-sitter-dot',
},
maintainers = { '@rydesun' },
tier = 3,
},
-
doxygen = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-doxygen',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '4a30eba5d047d6a8c5b005202b4848c0b33d76ca',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-doxygen',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
dtd = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-xml',
files = { 'src/parser.c', 'src/scanner.c' },
location = 'dtd',
+ revision = '648183d86f6f8ffb240ea11b4c6873f6f45d8b67',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-xml',
},
maintainers = { '@ObserverOfTime' },
tier = 2,
},
-
earthfile = {
install_info = {
- url = 'https://github.com/glehmann/tree-sitter-earthfile',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '6de809419cdfb23e3a8383b6575fa3634900f276',
+ url = 'https://github.com/glehmann/tree-sitter-earthfile',
},
maintainers = { '@glehmann' },
tier = 3,
},
-
ebnf = {
install_info = {
- url = 'https://github.com/RubixDev/ebnf',
files = { 'src/parser.c' },
location = 'crates/tree-sitter-ebnf',
+ revision = '8e635b0b723c620774dfb8abf382a7f531894b40',
+ url = 'https://github.com/RubixDev/ebnf',
},
maintainers = { '@RubixDev' },
tier = 3,
},
-
ecma = {
maintainers = { '@steelsojka' },
readme_note = 'queries required by javascript, typescript, tsx, qmljs',
tier = 3,
},
-
editorconfig = {
install_info = {
url = 'https://github.com/ValdezFOmar/tree-sitter-editorconfig',
@@ -525,69 +500,68 @@ M.configs = {
maintainers = { '@ValdezFOmar' },
tier = 3,
},
-
eds = {
install_info = {
- url = 'https://github.com/uyha/tree-sitter-eds',
files = { 'src/parser.c' },
+ revision = '5517bdb90c90703df49579a4b04689a614780be2',
+ url = 'https://github.com/uyha/tree-sitter-eds',
},
maintainers = { '@uyha' },
tier = 3,
},
-
eex = {
install_info = {
- url = 'https://github.com/connorlay/tree-sitter-eex',
files = { 'src/parser.c' },
+ revision = 'f742f2fe327463335e8671a87c0b9b396905d1d1',
+ url = 'https://github.com/connorlay/tree-sitter-eex',
},
maintainers = { '@connorlay' },
tier = 3,
},
-
elixir = {
install_info = {
- url = 'https://github.com/elixir-lang/tree-sitter-elixir',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'de690fa8a028f122af46d9d2685679fe5f2d7d60',
+ url = 'https://github.com/elixir-lang/tree-sitter-elixir',
},
maintainers = { '@connorlay' },
tier = 3,
},
-
elm = {
install_info = {
- url = 'https://github.com/elm-tooling/tree-sitter-elm',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '09dbf221d7491dc8d8839616b27c21b9c025c457',
+ url = 'https://github.com/elm-tooling/tree-sitter-elm',
},
maintainers = { '@zweimach' },
tier = 3,
},
-
elsa = {
install_info = {
- url = 'https://github.com/glapa-grossklag/tree-sitter-elsa',
files = { 'src/parser.c' },
+ revision = '0a66b2b3f3c1915e67ad2ef9f7dbd2a84820d9d7',
+ url = 'https://github.com/glapa-grossklag/tree-sitter-elsa',
},
maintainers = { '@glapa-grossklag', '@amaanq' },
tier = 3,
},
-
elvish = {
install_info = {
- url = 'https://github.com/elves/tree-sitter-elvish',
files = { 'src/parser.c' },
+ revision = '5e7210d945425b77f82cbaebc5af4dd3e1ad40f5',
+ url = 'https://github.com/elves/tree-sitter-elvish',
},
maintainers = { '@elves' },
tier = 3,
},
-
embedded_template = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-embedded-template',
files = { 'src/parser.c' },
+ revision = '38d5004a797298dc42c85e7706c5ceac46a3f29f',
+ url = 'https://github.com/tree-sitter/tree-sitter-embedded-template',
},
tier = 4,
},
-
enforce = {
install_info = {
url = 'https://github.com/simonvic/tree-sitter-enforce',
@@ -596,239 +570,235 @@ M.configs = {
maintainers = { '@simonvic' },
tier = 3,
},
-
erlang = {
install_info = {
- url = 'https://github.com/WhatsApp/tree-sitter-erlang',
files = { 'src/parser.c', 'src/parser.c' },
+ revision = '98ea1f9c957b2ad520415eecb5a5b406e931101e',
+ url = 'https://github.com/WhatsApp/tree-sitter-erlang',
},
maintainers = { '@filmor' },
tier = 3,
},
-
facility = {
install_info = {
- url = 'https://github.com/FacilityApi/tree-sitter-facility',
files = { 'src/parser.c' },
+ revision = 'a52579670e2b14ec03d410c3c980fafaf6d659c4',
+ url = 'https://github.com/FacilityApi/tree-sitter-facility',
},
maintainers = { '@bryankenote' },
tier = 3,
},
-
faust = {
install_info = {
- url = 'https://github.com/khiner/tree-sitter-faust',
files = { 'src/parser.c' },
+ revision = 'f3b9274514b5f9bf6b0dd4a01c30f9cc15c58bc4',
+ url = 'https://github.com/khiner/tree-sitter-faust',
},
maintainers = { '@khiner' },
tier = 3,
},
-
fennel = {
install_info = {
- url = 'https://github.com/alexmozaidze/tree-sitter-fennel',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = 'cfbfa478dc2dbef267ee94ae4323d9c886f45e94',
+ url = 'https://github.com/alexmozaidze/tree-sitter-fennel',
},
maintainers = { '@alexmozaidze' },
tier = 3,
},
-
fidl = {
install_info = {
- url = 'https://github.com/google/tree-sitter-fidl',
files = { 'src/parser.c' },
+ revision = '0a8910f293268e27ff554357c229ba172b0eaed2',
+ url = 'https://github.com/google/tree-sitter-fidl',
},
maintainers = { '@chaopeng' },
tier = 3,
},
-
firrtl = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-firrtl',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '8503d3a0fe0f9e427863cb0055699ff2d29ae5f5',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-firrtl',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
fish = {
install_info = {
- url = 'https://github.com/ram02z/tree-sitter-fish',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'a78aef9abc395c600c38a037ac779afc7e3cc9e0',
+ url = 'https://github.com/ram02z/tree-sitter-fish',
},
maintainers = { '@ram02z' },
tier = 3,
},
-
foam = {
install_info = {
- url = 'https://github.com/FoamScience/tree-sitter-foam',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '04664b40c0dadb7ef37028acf3422c63271d377b',
+ url = 'https://github.com/FoamScience/tree-sitter-foam',
},
maintainers = { '@FoamScience' },
tier = 3,
},
-
forth = {
install_info = {
- url = 'https://github.com/AlexanderBrevig/tree-sitter-forth',
files = { 'src/parser.c' },
+ revision = '90189238385cf636b9ee99ce548b9e5b5e569d48',
+ url = 'https://github.com/AlexanderBrevig/tree-sitter-forth',
},
maintainers = { '@amaanq' },
tier = 3,
},
-
fortran = {
install_info = {
- url = 'https://github.com/stadelmanma/tree-sitter-fortran',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'f73d473e3530862dee7cbb38520f28824e7804f6',
+ url = 'https://github.com/stadelmanma/tree-sitter-fortran',
},
maintainers = { '@amaanq' },
tier = 3,
},
-
fsh = {
install_info = {
- url = 'https://github.com/mgramigna/tree-sitter-fsh',
files = { 'src/parser.c' },
+ revision = 'fad2e175099a45efbc98f000cc196d3674cc45e0',
+ url = 'https://github.com/mgramigna/tree-sitter-fsh',
},
maintainers = { '@mgramigna' },
tier = 3,
},
-
fsharp = {
install_info = {
- url = 'https://github.com/ionide/tree-sitter-fsharp',
files = { 'src/parser.c', 'src/scanner.c' },
location = 'fsharp',
+ url = 'https://github.com/ionide/tree-sitter-fsharp',
},
maintainers = { '@nsidorenco' },
tier = 3,
},
-
func = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-func',
files = { 'src/parser.c' },
+ revision = 'f780ca55e65e7d7360d0229331763e16c452fc98',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-func',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
fusion = {
install_info = {
- url = 'https://gitlab.com/jirgn/tree-sitter-fusion.git',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '19db2f47ba4c3a0f6238d4ae0e2abfca16e61dd6',
+ url = 'https://gitlab.com/jirgn/tree-sitter-fusion',
},
maintainers = { '@jirgn' },
tier = 3,
},
-
gap = {
install_info = {
url = 'https://github.com/gap-system/tree-sitter-gap',
files = { 'src/parser.c', 'src/scanner.c' },
},
maintainers = { '@reiniscirpons' },
- readme_name = 'GAP system',
+ readme_note = 'GAP system',
tier = 3,
},
-
gaptst = {
install_info = {
url = 'https://github.com/gap-system/tree-sitter-gaptst',
files = { 'src/parser.c', 'src/scanner.c' },
},
maintainers = { '@reiniscirpons' },
- readme_name = 'GAP system test files',
+ readme_note = 'GAP system test files',
requires = { 'gap' },
tier = 3,
},
-
gdscript = {
install_info = {
- url = 'https://github.com/PrestonKnopp/tree-sitter-gdscript',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '1f1e782fe2600f50ae57b53876505b8282388d77',
+ url = 'https://github.com/PrestonKnopp/tree-sitter-gdscript',
},
maintainers = { '@PrestonKnopp' },
readme_note = 'Godot',
tier = 3,
},
-
gdshader = {
install_info = {
- url = 'https://github.com/GodOfAvacyn/tree-sitter-gdshader',
files = { 'src/parser.c' },
+ revision = 'ffd9f958df13cae04593781d7d2562295a872455',
+ url = 'https://github.com/GodOfAvacyn/tree-sitter-gdshader',
},
maintainers = { '@godofavacyn' },
tier = 3,
},
-
+ git_config = {
+ install_info = {
+ files = { 'src/parser.c' },
+ revision = '9c2a1b7894e6d9eedfe99805b829b4ecd871375e',
+ url = 'https://github.com/the-mikedavis/tree-sitter-git-config',
+ },
+ maintainers = { '@amaanq' },
+ tier = 3,
+ },
git_rebase = {
install_info = {
- url = 'https://github.com/the-mikedavis/tree-sitter-git-rebase',
files = { 'src/parser.c' },
+ revision = 'd8a4207ebbc47bd78bacdf48f883db58283f9fd8',
+ url = 'https://github.com/the-mikedavis/tree-sitter-git-rebase',
},
maintainers = { '@gbprod' },
tier = 3,
},
-
gitattributes = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-gitattributes',
files = { 'src/parser.c' },
+ revision = '41940e199ba5763abea1d21b4f717014b45f01ea',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-gitattributes',
},
maintainers = { '@ObserverOfTime' },
tier = 2,
},
-
gitcommit = {
install_info = {
- url = 'https://github.com/gbprod/tree-sitter-gitcommit',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'edd817e0532f179b7f7f371dc180629070945f0c',
+ url = 'https://github.com/gbprod/tree-sitter-gitcommit',
},
maintainers = { '@gbprod' },
tier = 3,
},
-
- git_config = {
- install_info = {
- url = 'https://github.com/the-mikedavis/tree-sitter-git-config',
- files = { 'src/parser.c' },
- },
- maintainers = { '@amaanq' },
- tier = 3,
- },
-
gitignore = {
install_info = {
- url = 'https://github.com/shunsambongi/tree-sitter-gitignore',
files = { 'src/parser.c' },
+ revision = 'f4685bf11ac466dd278449bcfe5fd014e94aa504',
+ url = 'https://github.com/shunsambongi/tree-sitter-gitignore',
},
maintainers = { '@theHamsta' },
tier = 3,
},
-
gleam = {
install_info = {
- url = 'https://github.com/gleam-lang/tree-sitter-gleam',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '02a17bf9d0553406268cdbf466d57808ae712bf3',
+ url = 'https://github.com/gleam-lang/tree-sitter-gleam',
},
maintainers = { '@amaanq' },
tier = 3,
},
-
glimmer = {
install_info = {
- url = 'https://github.com/ember-tooling/tree-sitter-glimmer',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '6b25d265c990139353e1f7f97baf84987ebb7bf0',
+ url = 'https://github.com/ember-tooling/tree-sitter-glimmer',
},
maintainers = { '@NullVoxPopuli' },
readme_note = 'Glimmer and Ember',
tier = 3,
},
-
glimmer_javascript = {
install_info = {
url = 'https://github.com/NullVoxPopuli/tree-sitter-glimmer-javascript',
@@ -836,10 +806,9 @@ M.configs = {
generate_requires_npm = true,
},
maintainers = { '@NullVoxPopuli' },
- requires = { 'javascript' },
+ requires = { 'ecma' },
tier = 3,
},
-
glimmer_typescript = {
install_info = {
url = 'https://github.com/NullVoxPopuli/tree-sitter-glimmer-typescript',
@@ -850,46 +819,45 @@ M.configs = {
requires = { 'typescript' },
tier = 3,
},
-
glsl = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-glsl',
files = { 'src/parser.c' },
generate_from_json = true,
+ revision = '7f91bf34cadc06a96efc475df501ffca4dda9410',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-glsl',
},
maintainers = { '@theHamsta' },
requires = { 'c' },
tier = 2,
},
-
gn = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-gn',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'bc06955bc1e3c9ff8e9b2b2a55b38b94da923c05',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-gn',
},
maintainers = { '@amaanq' },
readme_name = 'GN (Generate Ninja)',
tier = 2,
},
-
gnuplot = {
install_info = {
- url = 'https://github.com/dpezto/tree-sitter-gnuplot',
files = { 'src/parser.c' },
+ revision = '3c895f5d9c0b3a3c7e02383766b462c21913c000',
+ url = 'https://github.com/dpezto/tree-sitter-gnuplot',
},
maintainers = { '@dpezto' },
tier = 3,
},
-
go = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-go',
files = { 'src/parser.c' },
+ revision = '7ee8d928db5202f6831a78f8112fd693bf69f98b',
+ url = 'https://github.com/tree-sitter/tree-sitter-go',
},
maintainers = { '@theHamsta', '@WinWisely268' },
tier = 2,
},
-
goctl = {
install_info = {
url = 'https://github.com/chaozwn/tree-sitter-goctl',
@@ -898,71 +866,70 @@ M.configs = {
maintainers = { '@chaozwn' },
tier = 3,
},
-
godot_resource = {
install_info = {
- url = 'https://github.com/PrestonKnopp/tree-sitter-godot-resource',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '2ffb90de47417018651fc3b970e5f6b67214dc9d',
+ url = 'https://github.com/PrestonKnopp/tree-sitter-godot-resource',
},
maintainers = { '@pierpo' },
readme_note = 'Godot Resources',
tier = 3,
},
-
gomod = {
install_info = {
- url = 'https://github.com/camdencheek/tree-sitter-go-mod',
files = { 'src/parser.c' },
+ revision = 'bbe2fe3be4b87e06a613e685250f473d2267f430',
+ url = 'https://github.com/camdencheek/tree-sitter-go-mod',
},
maintainers = { '@camdencheek' },
tier = 3,
},
-
gosum = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-go-sum',
files = { 'src/parser.c' },
+ revision = 'e2ac513b2240c7ff1069ae33b2df29ce90777c11',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-go-sum',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
- gowork = {
+ gotmpl = {
install_info = {
- url = 'https://github.com/omertuc/tree-sitter-go-work',
files = { 'src/parser.c' },
+ revision = '9d3f6e526dd074b9edae9070b7bb778f00e87a5b',
+ url = 'https://github.com/ngalaiko/tree-sitter-go-template',
},
- maintainers = { '@omertuc' },
+ maintainers = { '@qvalentin' },
tier = 3,
},
-
- graphql = {
+ gowork = {
install_info = {
- url = 'https://github.com/bkegley/tree-sitter-graphql',
files = { 'src/parser.c' },
+ revision = '949a8a470559543857a62102c84700d291fc984c',
+ url = 'https://github.com/omertuc/tree-sitter-go-work',
},
- maintainers = { '@bkegley' },
+ maintainers = { '@omertuc' },
tier = 3,
},
-
- gotmpl = {
+ gpg = {
install_info = {
- url = 'https://github.com/ngalaiko/tree-sitter-go-template',
files = { 'src/parser.c' },
+ revision = 'f99323fb8f3f10b6c69db0c2f6d0a14bd7330675',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-gpg-config',
},
- maintainers = { '@qvalentin' },
- tier = 3,
+ maintainers = { '@ObserverOfTime' },
+ tier = 2,
},
-
- gpg = {
+ graphql = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-gpg-config',
files = { 'src/parser.c' },
+ revision = '5e66e961eee421786bdda8495ed1db045e06b5fe',
+ url = 'https://github.com/bkegley/tree-sitter-graphql',
},
- maintainers = { '@ObserverOfTime' },
- tier = 2,
+ maintainers = { '@bkegley' },
+ tier = 3,
},
-
gren = {
install_info = {
files = { 'src/parser.c', 'src/scanner.c' },
@@ -971,199 +938,197 @@ M.configs = {
maintainers = { '@MaeBrooks' },
tier = 3,
},
-
groovy = {
install_info = {
- url = 'https://github.com/murtaza64/tree-sitter-groovy',
files = { 'src/parser.c' },
+ revision = '6c5c8813233fe326e24c5ef032858d13f8006a8d',
+ url = 'https://github.com/murtaza64/tree-sitter-groovy',
},
maintainers = { '@murtaza64' },
tier = 3,
},
-
gstlaunch = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-gstlaunch',
files = { 'src/parser.c' },
+ revision = '549aef253fd38a53995cda1bf55c501174372bf7',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-gstlaunch',
},
maintainers = { '@theHamsta' },
tier = 2,
},
-
hack = {
install_info = {
- url = 'https://github.com/slackhq/tree-sitter-hack',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'fca1e294f6dce8ec5659233a6a21f5bd0ed5b4f2',
+ url = 'https://github.com/slackhq/tree-sitter-hack',
},
tier = 4,
},
-
hare = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-hare',
files = { 'src/parser.c' },
+ revision = '070524937539eb8bb4f10debd9c83b66c434f3a2',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-hare',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
haskell = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-haskell',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'a50070d5bb5bd5c1281740a6102ecf1f4b0c4f19',
+ url = 'https://github.com/tree-sitter/tree-sitter-haskell',
},
maintainers = { '@mrcjkb' },
tier = 2,
},
-
haskell_persistent = {
install_info = {
- url = 'https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '577259b4068b2c281c9ebf94c109bd50a74d5857',
+ url = 'https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent',
},
maintainers = { '@lykahb' },
tier = 3,
},
-
hcl = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-hcl',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'e936d3fef8bac884661472dce71ad82284761eb1',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-hcl',
},
maintainers = { '@MichaHoffmann' },
tier = 2,
},
-
heex = {
install_info = {
- url = 'https://github.com/connorlay/tree-sitter-heex',
files = { 'src/parser.c' },
+ revision = 'b5ad6e34eea18a15bbd1466ca707a17f9bff7b93',
+ url = 'https://github.com/connorlay/tree-sitter-heex',
},
maintainers = { '@connorlay' },
tier = 3,
},
-
helm = {
install_info = {
- url = 'https://github.com/ngalaiko/tree-sitter-go-template',
- location = 'dialects/helm',
files = { 'src/parser.c' },
+ location = 'dialects/helm',
+ revision = '9d3f6e526dd074b9edae9070b7bb778f00e87a5b',
+ url = 'https://github.com/ngalaiko/tree-sitter-go-template',
},
maintainers = { '@qvalentin' },
tier = 3,
},
-
hjson = {
install_info = {
- url = 'https://github.com/winston0410/tree-sitter-hjson',
files = { 'src/parser.c' },
generate_from_json = true,
+ revision = '02fa3b79b3ff9a296066da6277adfc3f26cbc9e0',
+ url = 'https://github.com/winston0410/tree-sitter-hjson',
},
maintainers = { '@winston0410' },
requires = { 'json' },
tier = 3,
},
-
hlsl = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-hlsl',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '5e1225a30712ca0a9040509806c7ba274a1bbcde',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-hlsl',
},
maintainers = { '@theHamsta' },
requires = { 'cpp' },
tier = 2,
},
-
hlsplaylist = {
install_info = {
- url = 'https://github.com/Freed-Wu/tree-sitter-hlsplaylist',
files = { 'src/parser.c' },
+ revision = '64f19029339e75d6762feae39e7878595860c980',
+ url = 'https://github.com/Freed-Wu/tree-sitter-hlsplaylist',
},
maintainers = { '@Freed-Wu' },
tier = 3,
},
-
hocon = {
install_info = {
- url = 'https://github.com/antosha417/tree-sitter-hocon',
files = { 'src/parser.c' },
generate_from_json = true,
+ revision = 'c390f10519ae69fdb03b3e5764f5592fb6924bcc',
+ url = 'https://github.com/antosha417/tree-sitter-hocon',
},
maintainers = { '@antosha417' },
tier = 4,
},
-
hoon = {
install_info = {
- url = 'https://github.com/urbit-pilled/tree-sitter-hoon',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'a24c5a39d1d7e993a8bee913c8e8b6a652ca5ae8',
+ url = 'https://github.com/urbit-pilled/tree-sitter-hoon',
},
maintainers = { '@urbit-pilled' },
tier = 3,
},
-
- html_tags = {
- maintainers = { '@TravonteD' },
- readme_note = 'queries required by html, astro, vue, svelte',
- tier = 3,
- },
-
html = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-html',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'e4d834eb4918df01dcad5c27d1b15d56e3bd94cd',
+ url = 'https://github.com/tree-sitter/tree-sitter-html',
},
maintainers = { '@TravonteD' },
requires = { 'html_tags' },
tier = 2,
},
-
+ html_tags = {
+ maintainers = { '@TravonteD' },
+ readme_note = 'queries required by html, astro, vue, svelte',
+ tier = 3,
+ },
htmldjango = {
install_info = {
- url = 'https://github.com/interdependence/tree-sitter-htmldjango',
files = { 'src/parser.c' },
+ revision = 'ea71012d3fe14dd0b69f36be4f96bdfe9155ebae',
+ url = 'https://github.com/interdependence/tree-sitter-htmldjango',
},
maintainers = { '@ObserverOfTime' },
tier = 3,
},
-
http = {
install_info = {
- url = 'https://github.com/rest-nvim/tree-sitter-http',
files = { 'src/parser.c' },
+ revision = '8d22f33faa5aa95c6526606fb656ada342e59e40',
+ url = 'https://github.com/rest-nvim/tree-sitter-http',
},
maintainers = { '@amaanq', '@NTBBloodbath' },
tier = 3,
},
-
hurl = {
install_info = {
- url = 'https://github.com/pfeiferj/tree-sitter-hurl',
files = { 'src/parser.c' },
+ revision = 'ad705af8c44c737bdb965fc081329c50716d2d03',
+ url = 'https://github.com/pfeiferj/tree-sitter-hurl',
},
maintainers = { '@pfeiferj' },
tier = 3,
},
-
hyprlang = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-hyprlang',
files = { 'src/parser.c' },
+ revision = 'e5da7d0aa44403153e0394d87d9edea4e5bd6609',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-hyprlang',
},
maintainers = { '@luckasRanarison' },
tier = 2,
},
-
idl = {
install_info = {
- url = 'https://github.com/cathaysia/tree-sitter-idl',
files = { 'src/parser.c' },
+ revision = '9f56001f8ed29b0ea9fa4f02813f3e83ab0a2aaa',
+ url = 'https://github.com/cathaysia/tree-sitter-idl',
},
maintainers = { '@cathaysia' },
tier = 3,
},
-
idris = {
install_info = {
url = 'https://github.com/kayhide/tree-sitter-idris',
@@ -1172,25 +1137,24 @@ M.configs = {
maintainers = { '@srghma' },
tier = 3,
},
-
ini = {
install_info = {
- url = 'https://github.com/justinmk/tree-sitter-ini',
files = { 'src/parser.c' },
+ revision = '87176e524f0a98f5be75fa44f4f0ff5c6eac069c',
+ url = 'https://github.com/justinmk/tree-sitter-ini',
},
maintainers = { '@theHamsta' },
tier = 3,
},
-
inko = {
install_info = {
- url = 'https://github.com/inko-lang/tree-sitter-inko',
files = { 'src/parser.c' },
+ revision = '234c87be1dac20f766ddf6f486a7bde2a4bc5594',
+ url = 'https://github.com/inko-lang/tree-sitter-inko',
},
maintainers = { '@yorickpeterse' },
tier = 3,
},
-
ipkg = {
install_info = {
url = 'https://github.com/srghma/tree-sitter-ipkg',
@@ -1199,36 +1163,35 @@ M.configs = {
maintainers = { '@srghma' },
tier = 3,
},
-
ispc = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-ispc',
files = { 'src/parser.c' },
generate_from_json = true,
+ revision = '9b2f9aec2106b94b4e099fe75e73ebd8ae707c04',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-ispc',
},
maintainers = { '@fab4100' },
requires = { 'c' },
tier = 2,
},
-
janet_simple = {
install_info = {
- url = 'https://github.com/sogaiu/tree-sitter-janet-simple',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '6bfbaadac2ba0da21087041eff85d26129c4c920',
+ url = 'https://github.com/sogaiu/tree-sitter-janet-simple',
},
maintainers = { '@sogaiu' },
tier = 3,
},
-
java = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-java',
files = { 'src/parser.c' },
+ revision = '953abfc8bb3eb2f578e1f461edba4a9885f974b8',
+ url = 'https://github.com/tree-sitter/tree-sitter-java',
},
maintainers = { '@p00f' },
tier = 2,
},
-
javadoc = {
install_info = {
url = 'https://github.com/rmuir/tree-sitter-javadoc',
@@ -1237,17 +1200,16 @@ M.configs = {
maintainers = { '@rmuir' },
tier = 2,
},
-
javascript = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-javascript',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '391a8fcc48a11f63bf18ec9885f6f069e760949a',
+ url = 'https://github.com/tree-sitter/tree-sitter-javascript',
},
maintainers = { '@steelsojka' },
requires = { 'ecma', 'jsx' },
tier = 2,
},
-
jinja = {
install_info = {
url = 'https://github.com/cathaysia/tree-sitter-jinja',
@@ -1256,9 +1218,9 @@ M.configs = {
},
maintainers = { '@cathaysia' },
readme_note = 'basic highlighting',
+ requires = { 'jinja_inline' },
tier = 3,
},
-
jinja_inline = {
install_info = {
url = 'https://github.com/cathaysia/tree-sitter-jinja',
@@ -1269,87 +1231,85 @@ M.configs = {
readme_note = 'needed for full highlighting',
tier = 3,
},
-
jq = {
install_info = {
- url = 'https://github.com/flurie/tree-sitter-jq',
files = { 'src/parser.c' },
+ revision = '13990f530e8e6709b7978503da9bc8701d366791',
+ url = 'https://github.com/flurie/tree-sitter-jq',
},
maintainers = { '@ObserverOfTime' },
tier = 3,
},
-
jsdoc = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-jsdoc',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '49fde205b59a1d9792efc21ee0b6d50bbd35ff14',
+ url = 'https://github.com/tree-sitter/tree-sitter-jsdoc',
},
maintainers = { '@steelsojka' },
tier = 2,
},
-
json = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-json',
files = { 'src/parser.c' },
+ revision = '94f5c527b2965465956c2000ed6134dd24daf2a7',
+ url = 'https://github.com/tree-sitter/tree-sitter-json',
},
maintainers = { '@steelsojka' },
tier = 2,
},
-
json5 = {
install_info = {
- url = 'https://github.com/Joakker/tree-sitter-json5',
files = { 'src/parser.c' },
+ revision = 'ab0ba8229d639ec4f3fa5f674c9133477f4b77bd',
+ url = 'https://github.com/Joakker/tree-sitter-json5',
},
maintainers = { '@Joakker' },
tier = 3,
},
-
jsonc = {
install_info = {
- url = 'https://gitlab.com/WhyNotHugo/tree-sitter-jsonc.git',
files = { 'src/parser.c' },
generate_from_json = true,
+ revision = '02b01653c8a1c198ae7287d566efa86a135b30d5',
+ url = 'https://gitlab.com/WhyNotHugo/tree-sitter-jsonc',
},
maintainers = { '@WhyNotHugo' },
requires = { 'json' },
tier = 3,
},
-
jsonnet = {
install_info = {
- url = 'https://github.com/sourcegraph/tree-sitter-jsonnet',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'd34615fa12cc1d1cfc1f1f1a80acc9db80ee4596',
+ url = 'https://github.com/sourcegraph/tree-sitter-jsonnet',
},
maintainers = { '@nawordar' },
tier = 3,
},
-
jsx = {
maintainers = { '@steelsojka' },
readme_note = 'queries required by javascript, tsx',
tier = 3,
},
-
julia = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-julia',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'f1baa5f8e271109d01cc8ff7473c11df2d8a9aee',
+ url = 'https://github.com/tree-sitter/tree-sitter-julia',
},
maintainers = { '@fredrikekre' },
tier = 3,
},
-
just = {
install_info = {
- url = 'https://github.com/IndianBoy42/tree-sitter-just',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'fd814fc6c579f68c2a642f5e0268cf69daae92d7',
+ url = 'https://github.com/IndianBoy42/tree-sitter-just',
},
maintainers = { '@Hubro' },
tier = 3,
},
-
kcl = {
install_info = {
url = 'https://github.com/kcl-lang/tree-sitter-kcl',
@@ -1358,268 +1318,267 @@ M.configs = {
maintainers = { '@bertbaron' },
tier = 2,
},
-
kconfig = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-kconfig',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '486fea71f61ad9f3fd4072a118402e97fe88d26c',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-kconfig',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
kdl = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-kdl',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '49fb89a854d93b58a65a19724ac307195ca11941',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-kdl',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
kotlin = {
install_info = {
- url = 'https://github.com/fwcd/tree-sitter-kotlin',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'c9cb8504b81684375e7beb8907517dbd6947a1be',
+ url = 'https://github.com/fwcd/tree-sitter-kotlin',
},
maintainers = { '@SalBakraa' },
tier = 3,
},
-
koto = {
install_info = {
- url = 'https://github.com/koto-lang/tree-sitter-koto',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'eb8d866cff5751c0a7650623d244280618b0a378',
+ url = 'https://github.com/koto-lang/tree-sitter-koto',
},
maintainers = { '@irh' },
tier = 3,
},
-
kusto = {
install_info = {
- url = 'https://github.com/Willem-J-an/tree-sitter-kusto',
files = { 'src/parser.c' },
+ revision = '8353a1296607d6ba33db7c7e312226e5fc83e8ce',
+ url = 'https://github.com/Willem-J-an/tree-sitter-kusto',
},
maintainers = { '@Willem-J-an' },
tier = 3,
},
-
lalrpop = {
install_info = {
- url = 'https://github.com/traxys/tree-sitter-lalrpop',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '854a40e99f7c70258e522bdb8ab584ede6196e2e',
+ url = 'https://github.com/traxys/tree-sitter-lalrpop',
},
maintainers = { '@traxys' },
tier = 3,
},
-
latex = {
install_info = {
- url = 'https://github.com/latex-lsp/tree-sitter-latex',
files = { 'src/parser.c', 'src/scanner.c' },
generate = true,
+ revision = 'cd82eb40d31bdfe65f846f4e06292d6c804b5e0e',
+ url = 'https://github.com/latex-lsp/tree-sitter-latex',
},
maintainers = { '@theHamsta', '@clason' },
tier = 3,
},
-
ledger = {
install_info = {
- url = 'https://github.com/cbarrete/tree-sitter-ledger',
files = { 'src/parser.c' },
+ revision = '8a841fb20ce683bfbb3469e6ba67f2851cfdf94a',
+ url = 'https://github.com/cbarrete/tree-sitter-ledger',
},
maintainers = { '@cbarrete' },
tier = 3,
},
-
leo = {
install_info = {
- url = 'https://github.com/r001/tree-sitter-leo',
files = { 'src/parser.c' },
+ revision = '304611b5eaf53aca07459a0a03803b83b6dfd3b3',
+ url = 'https://github.com/r001/tree-sitter-leo',
},
maintainers = { '@r001' },
tier = 3,
},
-
- llvm = {
- install_info = {
- url = 'https://github.com/benwilliamgraham/tree-sitter-llvm',
- files = { 'src/parser.c' },
- },
- maintainers = { '@benwilliamgraham' },
- tier = 3,
- },
-
linkerscript = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-linkerscript',
files = { 'src/parser.c' },
+ revision = 'f99011a3554213b654985a4b0a65b3b032ec4621',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-linkerscript',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
liquid = {
install_info = {
- url = 'https://github.com/hankthetank27/tree-sitter-liquid',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '293369818da219d97327908aab33707b04b63fd9',
+ url = 'https://github.com/hankthetank27/tree-sitter-liquid',
},
maintainers = { '@hankthetank27' },
tier = 3,
},
-
liquidsoap = {
install_info = {
- url = 'https://github.com/savonet/tree-sitter-liquidsoap',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '14feafa91630afb1ab9988cf9b738b7ea29f3f89',
+ url = 'https://github.com/savonet/tree-sitter-liquidsoap',
},
maintainers = { '@toots' },
tier = 3,
},
-
+ llvm = {
+ install_info = {
+ files = { 'src/parser.c' },
+ revision = '1b96e58faf558ce057d4dc664b904528aee743cb',
+ url = 'https://github.com/benwilliamgraham/tree-sitter-llvm',
+ },
+ maintainers = { '@benwilliamgraham' },
+ tier = 3,
+ },
lua = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-lua',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'a24dab177e58c9c6832f96b9a73102a0cfbced4a',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-lua',
},
maintainers = { '@muniftanjim' },
tier = 1,
},
-
luadoc = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-luadoc',
files = { 'src/parser.c' },
+ revision = '873612aadd3f684dd4e631bdf42ea8990c57634e',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-luadoc',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
luap = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-luap',
files = { 'src/parser.c' },
+ revision = '31461ae9bd0866cb5117cfe5de71189854fd0f3e',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-luap',
},
maintainers = { '@amaanq' },
readme_note = 'Lua patterns',
tier = 2,
},
-
luau = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-luau',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '5aa9b88a8e3327276ec6e72de997f04ac80b1ae4',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-luau',
},
maintainers = { '@amaanq' },
requires = { 'lua' },
tier = 2,
},
-
m68k = {
install_info = {
- url = 'https://github.com/grahambates/tree-sitter-m68k',
files = { 'src/parser.c' },
+ revision = 'd097b123f19c6eaba2bf181c05420d88b9fc489d',
+ url = 'https://github.com/grahambates/tree-sitter-m68k',
},
maintainers = { '@grahambates' },
tier = 3,
},
-
make = {
install_info = {
- url = 'https://github.com/alemuller/tree-sitter-make',
files = { 'src/parser.c' },
+ revision = 'a4b9187417d6be349ee5fd4b6e77b4172c6827dd',
+ url = 'https://github.com/alemuller/tree-sitter-make',
},
maintainers = { '@lewis6991' },
tier = 3,
},
-
markdown = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-markdown',
- location = 'tree-sitter-markdown',
files = { 'src/parser.c', 'src/scanner.c' },
+ location = 'tree-sitter-markdown',
+ revision = '7fe453beacecf02c86f7736439f238f5bb8b5c9b',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-markdown',
},
maintainers = { '@MDeiml' },
readme_note = 'basic highlighting',
requires = { 'markdown_inline' },
tier = 1,
},
-
markdown_inline = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-markdown',
- location = 'tree-sitter-markdown-inline',
files = { 'src/parser.c', 'src/scanner.c' },
+ location = 'tree-sitter-markdown-inline',
+ revision = '7fe453beacecf02c86f7736439f238f5bb8b5c9b',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-markdown',
},
maintainers = { '@MDeiml' },
readme_note = 'needed for full highlighting',
tier = 1,
},
-
matlab = {
install_info = {
- url = 'https://github.com/acristoffers/tree-sitter-matlab',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '79d8b25f57b48f83ae1333aff6723b83c9532e37',
+ url = 'https://github.com/acristoffers/tree-sitter-matlab',
},
maintainers = { '@acristoffers' },
tier = 3,
},
-
menhir = {
install_info = {
- url = 'https://github.com/Kerl13/tree-sitter-menhir',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'be8866a6bcc2b563ab0de895af69daeffa88fe70',
+ url = 'https://github.com/Kerl13/tree-sitter-menhir',
},
maintainers = { '@Kerl13' },
tier = 3,
},
-
mermaid = {
install_info = {
- url = 'https://github.com/monaqa/tree-sitter-mermaid',
files = { 'src/parser.c' },
+ revision = '90ae195b31933ceb9d079abfa8a3ad0a36fee4cc',
+ url = 'https://github.com/monaqa/tree-sitter-mermaid',
},
tier = 4,
},
-
meson = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-meson',
files = { 'src/parser.c' },
+ revision = 'bd17c824196ce70800f64ad39cfddd1b17acc13f',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-meson',
},
maintainers = { '@Decodetalkers' },
tier = 2,
},
-
mlir = {
install_info = {
- url = 'https://github.com/artagnon/tree-sitter-mlir',
files = { 'src/parser.c' },
generate = true,
+ revision = '00c32d8562dc957b187da110a3443307962b8da8',
+ url = 'https://github.com/artagnon/tree-sitter-mlir',
},
maintainers = { '@artagnon' },
tier = 3,
},
-
muttrc = {
install_info = {
- url = 'https://github.com/neomutt/tree-sitter-muttrc',
files = { 'src/parser.c' },
+ revision = '90ef60852c410bd964cd3b954366e4c403c17314',
+ url = 'https://github.com/neomutt/tree-sitter-muttrc',
},
maintainers = { '@Freed-Wu' },
tier = 3,
},
-
nasm = {
install_info = {
- url = 'https://github.com/naclsn/tree-sitter-nasm',
files = { 'src/parser.c' },
+ revision = '570f3d7be01fffc751237f4cfcf52d04e20532d1',
+ url = 'https://github.com/naclsn/tree-sitter-nasm',
},
maintainers = { '@ObserverOfTime' },
tier = 3,
},
-
nginx = {
install_info = {
url = 'https://github.com/opa-oz/tree-sitter-nginx',
@@ -1628,62 +1587,61 @@ M.configs = {
maintainers = { '@opa-oz' },
tier = 3,
},
-
nickel = {
install_info = {
- url = 'https://github.com/nickel-lang/tree-sitter-nickel',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '0a796f3a312917724c1d9f486a201f7402a8acfd',
+ url = 'https://github.com/nickel-lang/tree-sitter-nickel',
},
tier = 4,
},
-
nim = {
install_info = {
- url = 'https://github.com/alaviss/tree-sitter-nim',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '961c2798cec9250c44f7d7225ddb33d47d25856a',
+ url = 'https://github.com/alaviss/tree-sitter-nim',
},
maintainers = { '@aMOPel' },
requires = { 'nim_format_string' },
tier = 3,
},
-
nim_format_string = {
install_info = {
- url = 'https://github.com/aMOPel/tree-sitter-nim-format-string',
files = { 'src/parser.c' },
+ revision = 'd45f75022d147cda056e98bfba68222c9c8eca3a',
+ url = 'https://github.com/aMOPel/tree-sitter-nim-format-string',
},
maintainers = { '@aMOPel' },
tier = 3,
},
-
ninja = {
install_info = {
- url = 'https://github.com/alemuller/tree-sitter-ninja',
files = { 'src/parser.c' },
+ revision = '0a95cfdc0745b6ae82f60d3a339b37f19b7b9267',
+ url = 'https://github.com/alemuller/tree-sitter-ninja',
},
maintainers = { '@alemuller' },
tier = 3,
},
-
nix = {
install_info = {
- url = 'https://github.com/cstrahan/tree-sitter-nix',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'b3cda619248e7dd0f216088bd152f59ce0bbe488',
+ url = 'https://github.com/cstrahan/tree-sitter-nix',
},
maintainers = { '@leo60228' },
tier = 3,
},
-
nqc = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-nqc',
files = { 'src/parser.c' },
generate_from_json = true,
+ revision = '14e6da1627aaef21d2b2aa0c37d04269766dcc1d',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-nqc',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
nu = {
install_info = {
url = 'https://github.com/nushell/tree-sitter-nu',
@@ -1692,186 +1650,185 @@ M.configs = {
maintainers = { '@abhisheksingh0x558' },
tier = 3,
},
-
objc = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-objc',
files = { 'src/parser.c' },
generate_from_json = true,
+ revision = '62e61b6f5c0289c376d61a8c91faf6435cde9012',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-objc',
},
maintainers = { '@amaanq' },
requires = { 'c' },
tier = 2,
},
-
objdump = {
install_info = {
- url = 'https://github.com/ColinKennedy/tree-sitter-objdump',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '28d3b2e25a0b1881d1b47ed1924ca276c7003d45',
+ url = 'https://github.com/ColinKennedy/tree-sitter-objdump',
},
maintainers = { '@ColinKennedy' },
tier = 3,
},
-
ocaml = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-ocaml',
files = { 'src/parser.c', 'src/scanner.c' },
location = 'grammars/ocaml',
+ revision = '0b12614ded3ec7ed7ab7933a9ba4f695ba4c342e',
+ url = 'https://github.com/tree-sitter/tree-sitter-ocaml',
},
maintainers = { '@undu' },
tier = 2,
},
-
ocaml_interface = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-ocaml',
files = { 'src/parser.c', 'src/scanner.c' },
location = 'grammars/interface',
+ revision = '0b12614ded3ec7ed7ab7933a9ba4f695ba4c342e',
+ url = 'https://github.com/tree-sitter/tree-sitter-ocaml',
},
maintainers = { '@undu' },
requires = { 'ocaml' },
tier = 2,
},
-
ocamllex = {
install_info = {
- url = 'https://github.com/atom-ocaml/tree-sitter-ocamllex',
files = { 'src/parser.c', 'src/scanner.c' },
generate = true,
+ revision = '4b9898ccbf198602bb0dec9cd67cc1d2c0a4fad2',
+ url = 'https://github.com/atom-ocaml/tree-sitter-ocamllex',
},
maintainers = { '@undu' },
tier = 3,
},
-
odin = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-odin',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'd37b8f24f653378b268ec18404e9c14ad355b128',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-odin',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
pascal = {
install_info = {
- url = 'https://github.com/Isopod/tree-sitter-pascal',
files = { 'src/parser.c' },
+ revision = 'a9ee969dec5b2e3b2ccccc5954fec04100c7619e',
+ url = 'https://github.com/Isopod/tree-sitter-pascal',
},
maintainers = { '@Isopod' },
tier = 3,
},
-
passwd = {
install_info = {
- url = 'https://github.com/ath3/tree-sitter-passwd',
files = { 'src/parser.c' },
+ revision = '20239395eacdc2e0923a7e5683ad3605aee7b716',
+ url = 'https://github.com/ath3/tree-sitter-passwd',
},
maintainers = { '@amaanq' },
tier = 3,
},
-
pem = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-pem',
files = { 'src/parser.c' },
+ revision = '217ff2af3f2db15a79ab7e3d21ea1e0c17e71a1a',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-pem',
},
maintainers = { '@ObserverOfTime' },
tier = 2,
},
-
perl = {
install_info = {
- url = 'https://github.com/tree-sitter-perl/tree-sitter-perl',
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',
},
maintainers = { '@RabbiVeesh', '@LeoNerd' },
tier = 3,
},
-
php = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-php',
- location = 'php',
files = { 'src/parser.c', 'src/scanner.c' },
+ location = 'php',
+ revision = 'b38c53537769df05871643c9688c264074fb6076',
+ url = 'https://github.com/tree-sitter/tree-sitter-php',
},
maintainers = { '@tk-shirasaka', '@calebdw' },
- requires = { 'php_only' },
readme_note = 'PHP with embedded HTML',
+ requires = { 'php_only' },
tier = 2,
},
-
php_only = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-php',
- location = 'php_only',
files = { 'src/parser.c', 'src/scanner.c' },
+ location = 'php_only',
+ revision = 'b38c53537769df05871643c9688c264074fb6076',
+ url = 'https://github.com/tree-sitter/tree-sitter-php',
},
maintainers = { '@tk-shirasaka', '@calebdw' },
readme_note = 'PHP without embedded HTML',
tier = 2,
},
-
phpdoc = {
install_info = {
- url = 'https://github.com/claytonrcarter/tree-sitter-phpdoc',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '1d0e255b37477d0ca46f1c9e9268c8fa76c0b3fc',
+ url = 'https://github.com/claytonrcarter/tree-sitter-phpdoc',
},
maintainers = { '@mikehaertl' },
tier = 3,
},
-
pioasm = {
install_info = {
- url = 'https://github.com/leo60228/tree-sitter-pioasm',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '924aadaf5dea2a6074d72027b064f939acf32e20',
+ url = 'https://github.com/leo60228/tree-sitter-pioasm',
},
maintainers = { '@leo60228' },
tier = 3,
},
-
po = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-po',
files = { 'src/parser.c' },
+ revision = 'bd860a0f57f697162bf28e576674be9c1500db5e',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-po',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
pod = {
install_info = {
- url = 'https://github.com/tree-sitter-perl/tree-sitter-pod',
- files = { 'src/parser.c', 'src/scanner.c' },
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',
},
maintainers = { '@RabbiVeesh', '@LeoNerd' },
tier = 3,
},
-
poe_filter = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-poe-filter',
files = { 'src/parser.c' },
+ revision = '592476d81f95d2451f2ca107dc872224c76fecdf',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-poe-filter',
},
maintainers = { '@ObserverOfTime' },
readme_note = 'Path of Exile item filter',
tier = 2,
},
-
pony = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-pony',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '73ff874ae4c9e9b45462673cbc0a1e350e2522a7',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-pony',
},
maintainers = { '@amaanq', '@mfelsche' },
tier = 2,
},
-
powershell = {
install_info = {
url = 'https://github.com/airbus-cert/tree-sitter-powershell',
@@ -1881,20 +1838,20 @@ M.configs = {
maintainers = { '@L2jLiga' },
tier = 3,
},
-
printf = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-printf',
files = { 'src/parser.c' },
+ revision = '0e0aceabbf607ea09e03562f5d8a56f048ddea3d',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-printf',
},
maintainers = { '@ObserverOfTime' },
tier = 2,
},
-
prisma = {
install_info = {
- url = 'https://github.com/victorhqc/tree-sitter-prisma',
files = { 'src/parser.c' },
+ revision = 'eca2596a355b1a9952b4f80f8f9caed300a272b5',
+ url = 'https://github.com/victorhqc/tree-sitter-prisma',
},
maintainers = { '@elianiva' },
tier = 3,
@@ -1920,175 +1877,174 @@ M.configs = {
maintainers = { '@foxyseta' },
tier = 3,
},
-
+ promql = {
+ install_info = {
+ files = { 'src/parser.c' },
+ revision = '77625d78eebc3ffc44d114a07b2f348dff3061b0',
+ url = 'https://github.com/MichaHoffmann/tree-sitter-promql',
+ },
+ maintainers = { '@MichaHoffmann' },
+ tier = 3,
+ },
properties = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-properties',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '9d09f5f200c356c50c4103d36441309fd61b48d1',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-properties',
},
maintainers = { '@ObserverOfTime' },
- tier = 2,
readme_note = 'Java properties files',
+ tier = 2,
},
-
proto = {
install_info = {
- url = 'https://github.com/treywood/tree-sitter-proto',
files = { 'src/parser.c' },
+ revision = 'e9f6b43f6844bd2189b50a422d4e2094313f6aa3',
+ url = 'https://github.com/treywood/tree-sitter-proto',
},
maintainers = { '@treywood' },
tier = 3,
},
-
- promql = {
- install_info = {
- url = 'https://github.com/MichaHoffmann/tree-sitter-promql',
- files = { 'src/parser.c' },
- },
- maintainers = { '@MichaHoffmann' },
- tier = 3,
- },
-
prql = {
install_info = {
- url = 'https://github.com/PRQL/tree-sitter-prql',
files = { 'src/parser.c' },
+ revision = '09e158cd3650581c0af4c49c2e5b10c4834c8646',
+ url = 'https://github.com/PRQL/tree-sitter-prql',
},
maintainers = { '@matthias-Q' },
tier = 3,
},
-
psv = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-csv',
files = { 'src/parser.c' },
location = 'psv',
+ revision = '7eb7297823605392d2bbcc4c09b1cd18d6fa9529',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-csv',
},
maintainers = { '@amaanq' },
requires = { 'tsv' },
tier = 2,
},
-
pug = {
install_info = {
- url = 'https://github.com/zealot128/tree-sitter-pug',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'a7ff31a38908df9b9f34828d21d6ca5e12413e18',
+ url = 'https://github.com/zealot128/tree-sitter-pug',
},
maintainers = { '@zealot128' },
tier = 3,
},
-
puppet = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-puppet',
files = { 'src/parser.c' },
+ revision = '584522f32495d648b18a53ccb52d988e60de127d',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-puppet',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
purescript = {
install_info = {
- url = 'https://github.com/postsolar/tree-sitter-purescript',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'daf9b3e2be18b0b2996a1281f7783e0d041d8b80',
+ url = 'https://github.com/postsolar/tree-sitter-purescript',
},
maintainers = { '@postsolar' },
tier = 3,
},
-
pymanifest = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-pymanifest',
files = { 'src/parser.c' },
+ revision = 'e3b82b78721aee07f676dac8473ae69db51debcf',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-pymanifest',
},
maintainers = { '@ObserverOfTime' },
readme_name = 'PyPA manifest',
tier = 2,
},
-
python = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-python',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '71778c2a472ed00a64abf4219544edbf8e4b86d7',
+ url = 'https://github.com/tree-sitter/tree-sitter-python',
},
maintainers = { '@stsewd', '@theHamsta' },
tier = 1,
},
-
ql = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-ql',
files = { 'src/parser.c' },
+ revision = '42becd6f8f7bae82c818fa3abb1b6ff34b552310',
+ url = 'https://github.com/tree-sitter/tree-sitter-ql',
},
maintainers = { '@pwntester' },
tier = 2,
},
-
qmldir = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-qmldir',
files = { 'src/parser.c' },
+ revision = '6b2b5e41734bd6f07ea4c36ac20fb6f14061c841',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-qmldir',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
qmljs = {
install_info = {
- url = 'https://github.com/yuja/tree-sitter-qmljs',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '2c57cac27e207425f8df15327884434cb12365a3',
+ url = 'https://github.com/yuja/tree-sitter-qmljs',
},
maintainers = { '@Decodetalkers' },
requires = { 'ecma' },
tier = 3,
},
-
query = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-query',
files = { 'src/parser.c' },
+ revision = 'f767fb0ac5e711b6d44c5e0c8d1f349687a86ce0',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-query',
},
maintainers = { '@steelsojka' },
readme_note = 'Tree-sitter query language',
tier = 1,
},
-
r = {
install_info = {
- url = 'https://github.com/r-lib/tree-sitter-r',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '391400572538ff9854341a175ed8ab4b1e45f44b',
+ url = 'https://github.com/r-lib/tree-sitter-r',
},
maintainers = { '@ribru17' },
tier = 3,
},
-
racket = {
install_info = {
- url = 'https://github.com/6cdh/tree-sitter-racket',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '171f52a8c0ed635b85cd42d1e36d82f1066a03b4',
+ url = 'https://github.com/6cdh/tree-sitter-racket',
},
tier = 4,
},
-
ralph = {
install_info = {
- url = 'https://github.com/alephium/tree-sitter-ralph',
files = { 'src/parser.c' },
+ revision = '48b9d9d6e2b55ce8f9eb09ceb0d952e4b1cc87a0',
+ url = 'https://github.com/alephium/tree-sitter-ralph',
},
maintainers = { '@tdroxler' },
tier = 3,
},
-
rasi = {
install_info = {
- url = 'https://github.com/Fymyte/tree-sitter-rasi',
files = { 'src/parser.c' },
+ revision = '6c9bbcfdf5f0f553d9ebc01750a3aa247a37b8aa',
+ url = 'https://github.com/Fymyte/tree-sitter-rasi',
},
maintainers = { '@Fymyte' },
tier = 3,
},
-
razor = {
install_info = {
generate_from_json = true,
@@ -2099,62 +2055,61 @@ M.configs = {
maintainers = { '@tris203' },
tier = 3,
},
-
rbs = {
install_info = {
- url = 'https://github.com/joker1007/tree-sitter-rbs',
files = { 'src/parser.c' },
+ revision = 'e5e807a50fcd104a2d740d354632fc671700a0bf',
+ url = 'https://github.com/joker1007/tree-sitter-rbs',
},
maintainers = { '@joker1007' },
tier = 3,
},
-
re2c = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-re2c',
files = { 'src/parser.c' },
+ revision = '47aa19cf5f7aba2ed30e2b377f7172df76e819a6',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-re2c',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
readline = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-readline',
files = { 'src/parser.c' },
+ revision = '3d4768b04d7cfaf40533e12b28672603428b8f31',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-readline',
},
maintainers = { '@ribru17' },
tier = 2,
},
-
regex = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-regex',
files = { 'src/parser.c' },
+ revision = '47007f195752d8e57bda80b0b6cdb2d173a9f7d7',
+ url = 'https://github.com/tree-sitter/tree-sitter-regex',
},
maintainers = { '@theHamsta' },
tier = 2,
},
-
rego = {
install_info = {
- url = 'https://github.com/FallenAngel97/tree-sitter-rego',
files = { 'src/parser.c' },
+ revision = '23b1da8de9766d766c4f01531e8be14b5c00c493',
+ url = 'https://github.com/FallenAngel97/tree-sitter-rego',
},
maintainers = { '@FallenAngel97' },
tier = 3,
},
-
requirements = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-requirements',
files = { 'src/parser.c' },
+ revision = '360c6a6b31076a482663806f7a8241de9cad6b4e',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-requirements',
},
maintainers = { '@ObserverOfTime' },
readme_name = 'pip requirements',
tier = 2,
},
-
rescript = {
install_info = {
url = 'https://github.com/rescript-lang/tree-sitter-rescript',
@@ -2163,25 +2118,24 @@ M.configs = {
maintainers = { '@ribru17' },
tier = 2,
},
-
rnoweb = {
install_info = {
- url = 'https://github.com/bamonroe/tree-sitter-rnoweb',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '1a74dc0ed731ad07db39f063e2c5a6fe528cae7f',
+ url = 'https://github.com/bamonroe/tree-sitter-rnoweb',
},
maintainers = { '@bamonroe' },
tier = 3,
},
-
robot = {
install_info = {
- url = 'https://github.com/Hubro/tree-sitter-robot',
files = { 'src/parser.c' },
+ revision = '322e4cc65754d2b3fdef4f2f8a71e0762e3d13af',
+ url = 'https://github.com/Hubro/tree-sitter-robot',
},
maintainers = { '@Hubro' },
tier = 3,
},
-
robots = {
install_info = {
url = 'https://github.com/opa-oz/tree-sitter-robots-txt',
@@ -2190,98 +2144,96 @@ M.configs = {
maintainers = { '@opa-oz' },
tier = 3,
},
-
roc = {
install_info = {
- url = 'https://github.com/faldor20/tree-sitter-roc',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '7df2c0892e62efb81a7504d9799d4e0d0443d241',
+ url = 'https://github.com/faldor20/tree-sitter-roc',
},
maintainers = { '@nat-418' },
tier = 3,
},
-
ron = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-ron',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '78938553b93075e638035f624973083451b29055',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-ron',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
rst = {
install_info = {
- url = 'https://github.com/stsewd/tree-sitter-rst',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '5120f6e59284cb8b85b450bd2db0bd352635ba9f',
+ url = 'https://github.com/stsewd/tree-sitter-rst',
},
maintainers = { '@stsewd' },
tier = 3,
},
-
ruby = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-ruby',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'dc2d7d6b50f9975bc3c35bbec0ba11b2617b736b',
+ url = 'https://github.com/tree-sitter/tree-sitter-ruby',
},
maintainers = { '@TravonteD' },
tier = 2,
},
-
runescript = {
install_info = {
- url = 'https://github.com/2004Scape/tree-sitter-runescript',
files = { 'src/parser.c', 'src/scanner.c' },
+ url = 'https://github.com/2004Scape/tree-sitter-runescript',
},
maintainers = { '@2004Scape' },
tier = 3,
},
-
rust = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-rust',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '9c84af007b0f144954adb26b3f336495cbb320a7',
+ url = 'https://github.com/tree-sitter/tree-sitter-rust',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
scala = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-scala',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'b76db435a7f876cf1ede837d66054c534783c72f',
+ url = 'https://github.com/tree-sitter/tree-sitter-scala',
},
maintainers = { '@stevanmilic' },
tier = 2,
},
-
scfg = {
install_info = {
- url = 'https://github.com/rockorager/tree-sitter-scfg',
files = { 'src/parser.c' },
generate = true,
+ revision = '6deae0cbb458c849a4d1e2985093e9c9c32d7fd0',
+ url = 'https://github.com/rockorager/tree-sitter-scfg',
},
maintainers = { '@WhyNotHugo' },
tier = 3,
},
-
scheme = {
install_info = {
- url = 'https://github.com/6cdh/tree-sitter-scheme',
files = { 'src/parser.c' },
+ revision = '8f9dff3d038f09934db5ea113cebc59c74447743',
+ url = 'https://github.com/6cdh/tree-sitter-scheme',
},
tier = 4,
},
-
scss = {
install_info = {
- url = 'https://github.com/serenadeai/tree-sitter-scss',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'c478c6868648eff49eb04a4df90d703dc45b312a',
+ url = 'https://github.com/serenadeai/tree-sitter-scss',
},
maintainers = { '@elianiva' },
requires = { 'css' },
tier = 3,
},
-
sflog = {
install_info = {
url = 'https://github.com/aheber/tree-sitter-sfapex',
@@ -2294,15 +2246,15 @@ M.configs = {
},
slang = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-slang',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '865d79e236c7f0e04276c969453d021d1da4b15f',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-slang',
},
- readme_note = 'Shader Slang',
maintainers = { '@theHamsta' },
+ readme_note = 'Shader Slang',
tier = 2,
},
-
slim = {
install_info = {
url = 'https://github.com/theoo/tree-sitter-slim',
@@ -2311,528 +2263,524 @@ M.configs = {
maintainers = { '@theoo' },
tier = 3,
},
-
slint = {
install_info = {
- url = 'https://github.com/slint-ui/tree-sitter-slint',
files = { 'src/parser.c' },
+ revision = 'd82ab8c19ea1b60ff570256eaef7d137cc5ecb63',
+ url = 'https://github.com/slint-ui/tree-sitter-slint',
},
maintainers = { '@hunger' },
tier = 3,
},
-
smali = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-smali',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'fdfa6a1febc43c7467aa7e937b87b607956f2346',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-smali',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
- snakemake = {
+ smithy = {
install_info = {
- url = 'https://github.com/osthomas/tree-sitter-snakemake',
- files = { 'src/parser.c', 'src/scanner.c' },
- generate_from_json = true,
+ files = { 'src/parser.c' },
+ revision = 'fa898ac0885d1da9a253695c3e0e91f5efc587cd',
+ url = 'https://github.com/indoorvivants/tree-sitter-smithy',
},
- maintainers = { '@osthomas' },
+ maintainers = { '@amaanq', '@keynmol' },
tier = 3,
},
-
- smithy = {
+ snakemake = {
install_info = {
- url = 'https://github.com/indoorvivants/tree-sitter-smithy',
- files = { 'src/parser.c' },
+ files = { 'src/parser.c', 'src/scanner.c' },
+ generate_from_json = true,
+ revision = 'ba1b3868eaa960b945593404af9a7c2f296d3643',
+ url = 'https://github.com/osthomas/tree-sitter-snakemake',
},
- maintainers = { '@amaanq', '@keynmol' },
+ maintainers = { '@osthomas' },
tier = 3,
},
-
solidity = {
install_info = {
- url = 'https://github.com/JoranHonig/tree-sitter-solidity',
files = { 'src/parser.c' },
+ revision = '1c94fe3d5351dfcff3551ec1f49614cbf758e444',
+ url = 'https://github.com/JoranHonig/tree-sitter-solidity',
},
maintainers = { '@amaanq' },
tier = 3,
},
-
soql = {
install_info = {
- url = 'https://github.com/aheber/tree-sitter-sfapex',
files = { 'src/parser.c' },
location = 'soql',
+ revision = 'c99ad4b16d112fea91745e3f1b769754239fdaba',
+ url = 'https://github.com/aheber/tree-sitter-sfapex',
},
maintainers = { '@aheber', '@xixiafinland' },
tier = 3,
},
-
sosl = {
install_info = {
- url = 'https://github.com/aheber/tree-sitter-sfapex',
files = { 'src/parser.c' },
location = 'sosl',
+ revision = 'c99ad4b16d112fea91745e3f1b769754239fdaba',
+ url = 'https://github.com/aheber/tree-sitter-sfapex',
},
maintainers = { '@aheber', '@xixiafinland' },
tier = 3,
},
-
sourcepawn = {
install_info = {
- url = 'https://github.com/nilshelmig/tree-sitter-sourcepawn',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '64ad670dd59e88c5d32bc3d759ae8562b522cad9',
+ url = 'https://github.com/nilshelmig/tree-sitter-sourcepawn',
},
maintainers = { '@Sarrus1' },
tier = 3,
},
-
sparql = {
install_info = {
- url = 'https://github.com/GordianDziwis/tree-sitter-sparql',
files = { 'src/parser.c' },
generate_from_json = true,
+ revision = '05f949d3c1c15e3261473a244d3ce87777374dec',
+ url = 'https://github.com/GordianDziwis/tree-sitter-sparql',
},
maintainers = { '@GordianDziwis' },
tier = 3,
},
-
sql = {
install_info = {
- url = 'https://github.com/derekstride/tree-sitter-sql',
- files = { 'src/parser.c', 'src/scanner.c' },
branch = 'gh-pages',
+ files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '6a99f4aff780f98bc119c7f034406e41d7e0b80d',
+ url = 'https://github.com/derekstride/tree-sitter-sql',
},
maintainers = { '@derekstride' },
tier = 3,
},
-
squirrel = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-squirrel',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '0a50d31098e83c668d34d1160a0f6c7d23b571cc',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-squirrel',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
ssh_config = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-ssh-config',
files = { 'src/parser.c' },
+ revision = '77450e8bce8853921512348f83c73c168c71fdfb',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-ssh-config',
},
maintainers = { '@ObserverOfTime' },
tier = 2,
},
-
starlark = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-starlark',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '018d0e09d9d0f0dd6740a37682b8ee4512e8b2ac',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-starlark',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
strace = {
install_info = {
- url = 'https://github.com/sigmaSd/tree-sitter-strace',
files = { 'src/parser.c' },
+ revision = 'd819cdd5dbe455bd3c859193633c8d91c0df7c36',
+ url = 'https://github.com/sigmaSd/tree-sitter-strace',
},
maintainers = { '@amaanq' },
tier = 3,
},
-
styled = {
install_info = {
- url = 'https://github.com/mskelton/tree-sitter-styled',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '65835cca33a5f033bcde580ed66cde01c1fabbbe',
+ url = 'https://github.com/mskelton/tree-sitter-styled',
},
maintainers = { '@mskelton' },
tier = 3,
},
-
supercollider = {
install_info = {
- url = 'https://github.com/madskjeldgaard/tree-sitter-supercollider',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'affa4389186b6939d89673e1e9d2b28364f5ca6f',
+ url = 'https://github.com/madskjeldgaard/tree-sitter-supercollider',
},
maintainers = { '@madskjeldgaard' },
tier = 3,
},
-
superhtml = {
install_info = {
- url = 'https://github.com/kristoff-it/superhtml',
files = { 'src/parser.c', 'src/scanner.c' },
location = 'tree-sitter-superhtml',
+ url = 'https://github.com/kristoff-it/superhtml',
},
maintainers = { '@rockorager' },
tier = 3,
},
-
surface = {
install_info = {
- url = 'https://github.com/connorlay/tree-sitter-surface',
files = { 'src/parser.c' },
+ revision = 'f4586b35ac8548667a9aaa4eae44456c1f43d032',
+ url = 'https://github.com/connorlay/tree-sitter-surface',
},
maintainers = { '@connorlay' },
tier = 3,
},
-
svelte = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-svelte',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '2c97326cd96b7c3016c3d249e8dc244c89b4abeb',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-svelte',
},
maintainers = { '@amaanq' },
requires = { 'html_tags' },
tier = 2,
},
-
sway = {
install_info = {
- url = 'https://github.com/FuelLabs/tree-sitter-sway.git',
files = { 'src/parser.c', 'src/scanner.c' },
+ url = 'https://github.com/FuelLabs/tree-sitter-sway.git',
},
maintainers = { '@ribru17' },
tier = 2,
},
-
swift = {
install_info = {
- url = 'https://github.com/alex-pinkus/tree-sitter-swift',
files = { 'src/parser.c', 'src/scanner.c' },
generate = true,
+ revision = '26354ddec08c7efde4fa16bd29429f3310d2e2c5',
+ url = 'https://github.com/alex-pinkus/tree-sitter-swift',
},
maintainers = { '@alex-pinkus' },
tier = 3,
},
-
sxhkdrc = {
install_info = {
- url = 'https://github.com/RaafatTurki/tree-sitter-sxhkdrc',
files = { 'src/parser.c' },
+ revision = '440d5f913d9465c9c776a1bd92334d32febcf065',
+ url = 'https://github.com/RaafatTurki/tree-sitter-sxhkdrc',
},
maintainers = { '@RaafatTurki' },
tier = 3,
},
-
systemtap = {
install_info = {
- url = 'https://github.com/ok-ryoko/tree-sitter-systemtap',
files = { 'src/parser.c' },
+ revision = '1af543a96d060b1f808982037bfc54cc02218edd',
+ url = 'https://github.com/ok-ryoko/tree-sitter-systemtap',
},
maintainers = { '@ok-ryoko' },
tier = 3,
},
-
t32 = {
install_info = {
- url = 'https://gitlab.com/xasc/tree-sitter-t32.git',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '6182836f4128725f1e74ce986840d7317021a015',
+ url = 'https://gitlab.com/xasc/tree-sitter-t32',
},
maintainers = { '@xasc' },
tier = 3,
},
-
tablegen = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-tablegen',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'b1170880c61355aaf38fc06f4af7d3c55abdabc4',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-tablegen',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
tact = {
install_info = {
- url = 'https://github.com/tact-lang/tree-sitter-tact',
files = { 'src/parser.c' },
+ revision = '034df2162ed7b654efd999942e266be713c7cde0',
+ url = 'https://github.com/tact-lang/tree-sitter-tact',
},
maintainers = { '@novusnota' },
tier = 3,
},
-
- teal = {
+ tcl = {
install_info = {
- url = 'https://github.com/euclidianAce/tree-sitter-teal',
files = { 'src/parser.c', 'src/scanner.c' },
- generate = true,
+ revision = '8784024358c233efd0f3a6fd9e7a3c5852e628bc',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-tcl',
},
- maintainers = { '@euclidianAce' },
- tier = 3,
+ maintainers = { '@lewis6991' },
+ tier = 2,
},
-
- templ = {
+ tera = {
install_info = {
- url = 'https://github.com/vrischmann/tree-sitter-templ',
+ url = 'https://github.com/uncenter/tree-sitter-tera',
files = { 'src/parser.c', 'src/scanner.c' },
- generate_from_json = true,
},
- maintainers = { '@vrischmann' },
- tier = 3,
+ maintainers = { '@uncenter' },
+ tier = 2,
},
-
- tcl = {
+ teal = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-tcl',
files = { 'src/parser.c', 'src/scanner.c' },
+ generate = true,
+ revision = '19b02da829d1721a521bf7b802eb80a50bd53aab',
+ url = 'https://github.com/euclidianAce/tree-sitter-teal',
},
- maintainers = { '@lewis6991' },
- tier = 2,
+ maintainers = { '@euclidianAce' },
+ tier = 3,
},
-
- tera = {
+ templ = {
install_info = {
- url = 'https://github.com/uncenter/tree-sitter-tera',
files = { 'src/parser.c', 'src/scanner.c' },
+ generate_from_json = true,
+ revision = 'cf84ea53e2e2531f23009d676ac206090c1e2392',
+ url = 'https://github.com/vrischmann/tree-sitter-templ',
},
- maintainers = { '@uncenter' },
- tier = 2,
+ maintainers = { '@vrischmann' },
+ tier = 3,
},
-
terraform = {
install_info = {
- url = 'https://github.com/MichaHoffmann/tree-sitter-hcl',
files = { 'src/parser.c', 'src/scanner.c' },
location = 'dialects/terraform',
+ revision = 'e936d3fef8bac884661472dce71ad82284761eb1',
+ url = 'https://github.com/MichaHoffmann/tree-sitter-hcl',
},
maintainers = { '@MichaHoffmann' },
requires = { 'hcl' },
tier = 3,
},
-
textproto = {
install_info = {
- url = 'https://github.com/PorterAtGoogle/tree-sitter-textproto',
files = { 'src/parser.c' },
+ revision = '8dacf02aa402892c91079f8577998ed5148c0496',
+ url = 'https://github.com/PorterAtGoogle/tree-sitter-textproto',
},
maintainers = { '@Porter' },
tier = 3,
},
-
thrift = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-thrift',
files = { 'src/parser.c' },
+ revision = '68fd0d80943a828d9e6f49c58a74be1e9ca142cf',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-thrift',
},
maintainers = { '@amaanq', '@duskmoon314' },
tier = 2,
},
-
tiger = {
install_info = {
- url = 'https://github.com/ambroisie/tree-sitter-tiger',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'a7f11d946b44244f71df41d2a78af0665d618dae',
+ url = 'https://github.com/ambroisie/tree-sitter-tiger',
},
maintainers = { '@ambroisie' },
tier = 3,
},
-
tlaplus = {
install_info = {
- url = 'https://github.com/tlaplus-community/tree-sitter-tlaplus',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '200f9dab6b23f3b9bb8f67fc811221517f56c373',
+ url = 'https://github.com/tlaplus-community/tree-sitter-tlaplus',
},
maintainers = { '@ahelwer', '@susliko' },
tier = 3,
},
-
tmux = {
install_info = {
- url = 'https://github.com/Freed-Wu/tree-sitter-tmux',
files = { 'src/parser.c' },
+ revision = '9138ea508410e0f34da2666609f600f65e944f22',
+ url = 'https://github.com/Freed-Wu/tree-sitter-tmux',
},
maintainers = { '@Freed-Wu' },
tier = 3,
},
-
todotxt = {
install_info = {
- url = 'https://github.com/arnarg/tree-sitter-todotxt',
files = { 'src/parser.c' },
+ revision = '3937c5cd105ec4127448651a21aef45f52d19609',
+ url = 'https://github.com/arnarg/tree-sitter-todotxt',
},
maintainers = { '@arnarg' },
tier = 3,
},
-
toml = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-toml',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '16a30c83ce427385b8d14939c45c137fcfca6c42',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-toml',
},
maintainers = { '@tk-shirasaka' },
tier = 2,
},
-
tsv = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-csv',
files = { 'src/parser.c' },
location = 'tsv',
+ revision = '7eb7297823605392d2bbcc4c09b1cd18d6fa9529',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-csv',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
tsx = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-typescript',
files = { 'src/parser.c', 'src/scanner.c' },
- location = 'tsx',
generate_from_json = true,
+ location = 'tsx',
+ revision = '4ad3010c91d700026d036b5230e2d99ba94ae8a4',
+ url = 'https://github.com/tree-sitter/tree-sitter-typescript',
},
maintainers = { '@steelsojka' },
requires = { 'ecma', 'jsx', 'typescript' },
tier = 2,
},
-
turtle = {
install_info = {
- url = 'https://github.com/GordianDziwis/tree-sitter-turtle',
files = { 'src/parser.c' },
+ revision = '085437f5cb117703b7f520dd92161140a684f092',
+ url = 'https://github.com/GordianDziwis/tree-sitter-turtle',
},
maintainers = { '@GordianDziwis' },
tier = 3,
},
-
twig = {
install_info = {
- url = 'https://github.com/gbprod/tree-sitter-twig',
files = { 'src/parser.c' },
+ revision = 'eaf80e6af969e25993576477a9dbdba3e48c1305',
+ url = 'https://github.com/gbprod/tree-sitter-twig',
},
maintainers = { '@gbprod' },
tier = 3,
},
-
typescript = {
install_info = {
- url = 'https://github.com/tree-sitter/tree-sitter-typescript',
files = { 'src/parser.c', 'src/scanner.c' },
- location = 'typescript',
generate_from_json = true,
+ location = 'typescript',
+ revision = '4ad3010c91d700026d036b5230e2d99ba94ae8a4',
+ url = 'https://github.com/tree-sitter/tree-sitter-typescript',
},
maintainers = { '@steelsojka' },
requires = { 'ecma' },
tier = 2,
},
-
typespec = {
install_info = {
- url = 'https://github.com/happenslol/tree-sitter-typespec',
files = { 'src/parser.c' },
+ revision = '28821d0d6da5f0a6b5eb02b9bad953fecafd7248',
+ url = 'https://github.com/happenslol/tree-sitter-typespec',
},
maintainers = { '@happenslol' },
tier = 3,
},
-
typoscript = {
install_info = {
- url = 'https://github.com/Teddytrombone/tree-sitter-typoscript',
files = { 'src/parser.c' },
+ revision = '43b221c0b76e77244efdaa9963e402a17c930fbc',
+ url = 'https://github.com/Teddytrombone/tree-sitter-typoscript',
},
maintainers = { '@Teddytrombone' },
tier = 3,
},
-
typst = {
install_info = {
- url = 'https://github.com/uben0/tree-sitter-typst',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '3924cb9ed9e0e62ce7df9c4fe0faa4c234795999',
+ url = 'https://github.com/uben0/tree-sitter-typst',
},
maintainers = { '@uben0', '@RaafatTurki' },
tier = 3,
},
-
udev = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-udev',
files = { 'src/parser.c' },
+ revision = '8f58696e79092b4ad6bf197415bbd0970acf15cd',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-udev',
},
maintainers = { '@ObserverOfTime' },
tier = 2,
},
-
ungrammar = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-ungrammar',
files = { 'src/parser.c' },
+ revision = 'debd26fed283d80456ebafa33a06957b0c52e451',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-ungrammar',
},
maintainers = { '@Philipp-M', '@amaanq' },
tier = 2,
},
-
unison = {
install_info = {
- url = 'https://github.com/kylegoetz/tree-sitter-unison',
files = { 'src/parser.c', 'src/scanner.c' },
generate = true,
+ revision = '59d36a09282be7e4d3374854126590f3dcebee6e',
+ url = 'https://github.com/kylegoetz/tree-sitter-unison',
},
maintainers = { '@tapegram' },
tier = 3,
},
-
usd = {
install_info = {
- url = 'https://github.com/ColinKennedy/tree-sitter-usd',
files = { 'src/parser.c' },
+ revision = '4e0875f724d94d0c2ff36f9b8cb0b12f8b20d216',
+ url = 'https://github.com/ColinKennedy/tree-sitter-usd',
},
maintainers = { '@ColinKennedy' },
tier = 3,
},
-
uxntal = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-uxntal',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'ad9b638b914095320de85d59c49ab271603af048',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-uxntal',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
v = {
install_info = {
- url = 'https://github.com/vlang/v-analyzer',
files = { 'src/parser.c' },
location = 'tree_sitter_v',
+ revision = '7e11a6f8f369df935664fadd2f0c99d90fe3226f',
+ url = 'https://github.com/vlang/v-analyzer',
},
maintainers = { '@kkharji', '@amaanq' },
tier = 3,
},
-
vala = {
install_info = {
- url = 'https://github.com/vala-lang/tree-sitter-vala',
files = { 'src/parser.c' },
+ revision = '8f690bfa639f2b83d1fb938ed3dd98a7ba453e8b',
+ url = 'https://github.com/vala-lang/tree-sitter-vala',
},
maintainers = { '@Prince781' },
tier = 3,
},
-
vento = {
install_info = {
- url = 'https://github.com/ventojs/tree-sitter-vento',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '3321077d7446c1b3b017c294fd56ce028ed817fe',
+ url = 'https://github.com/ventojs/tree-sitter-vento',
},
maintainers = { '@wrapperup', '@oscarotero' },
tier = 3,
},
-
verilog = {
install_info = {
- url = 'https://github.com/gmlarumbe/tree-sitter-systemverilog',
files = { 'src/parser.c' },
+ revision = '075ebfc84543675f12e79a955f79d717772dcef3',
+ url = 'https://github.com/gmlarumbe/tree-sitter-systemverilog',
},
maintainers = { '@zhangwwpeng' },
tier = 3,
},
-
vhdl = {
install_info = {
url = 'https://github.com/jpt13653903/tree-sitter-vhdl',
@@ -2841,34 +2789,33 @@ M.configs = {
maintainers = { '@jpt13653903' },
tier = 3,
},
-
vhs = {
install_info = {
- url = 'https://github.com/charmbracelet/tree-sitter-vhs',
files = { 'src/parser.c' },
+ revision = '90028bbadb267ead5b87830380f6a825147f0c0f',
+ url = 'https://github.com/charmbracelet/tree-sitter-vhs',
},
maintainers = { '@caarlos0' },
tier = 3,
},
-
vim = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-vim',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'b448ca63f972ade12c373c808acdd2bf972937db',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-vim',
},
maintainers = { '@clason' },
tier = 1,
},
-
vimdoc = {
install_info = {
- url = 'https://github.com/neovim/tree-sitter-vimdoc',
files = { 'src/parser.c' },
+ revision = 'b711df784dd43d0a8ed8ddbfca0ddcc3239d94b4',
+ url = 'https://github.com/neovim/tree-sitter-vimdoc',
},
maintainers = { '@clason' },
tier = 1,
},
-
vrl = {
install_info = {
url = 'https://github.com/belltoy/tree-sitter-vrl',
@@ -2877,126 +2824,124 @@ M.configs = {
maintainers = { '@belltoy' },
tier = 3,
},
-
vue = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-vue',
- files = { 'src/parser.c', 'src/scanner.c' },
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',
},
maintainers = { '@WhyNotHugo', '@lucario387' },
requires = { 'html_tags' },
tier = 2,
},
-
- wing = {
- install_info = {
- url = 'https://github.com/winglang/tree-sitter-wing',
- files = { 'src/parser.c', 'src/scanner.c' },
- },
- maintainers = { '@gshpychka', '@MarkMcCulloh' },
- tier = 3,
- },
-
wgsl = {
install_info = {
- url = 'https://github.com/szebniok/tree-sitter-wgsl',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '40259f3c77ea856841a4e0c4c807705f3e4a2b65',
+ url = 'https://github.com/szebniok/tree-sitter-wgsl',
},
maintainers = { '@szebniok' },
tier = 3,
},
-
wgsl_bevy = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-wgsl-bevy',
files = { 'src/parser.c', 'src/scanner.c' },
generate_from_json = true,
+ revision = '1e12c7925c41bb09818d86e30cd78644fde7d31a',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-wgsl-bevy',
},
maintainers = { '@theHamsta' },
tier = 2,
},
-
+ wing = {
+ install_info = {
+ files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'bd1d35cf3e013dc7e189b46a593bdc2b281b0dd7',
+ url = 'https://github.com/winglang/tree-sitter-wing',
+ },
+ maintainers = { '@gshpychka', '@MarkMcCulloh' },
+ tier = 3,
+ },
wit = {
install_info = {
- url = 'https://github.com/liamwh/tree-sitter-wit',
files = { 'src/parser.c' },
+ revision = 'cab94791450524a542324d8cbe8017d69c516d8e',
+ url = 'https://github.com/liamwh/tree-sitter-wit',
},
maintainers = { '@liamwh' },
tier = 3,
},
-
xcompose = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-xcompose',
files = { 'src/parser.c' },
+ revision = '2383cc69a2c42cfade41c7cb971fb3862bec6df1',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-xcompose',
},
maintainers = { '@ObserverOfTime' },
tier = 2,
},
-
xml = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-xml',
files = { 'src/parser.c', 'src/scanner.c' },
location = 'xml',
+ revision = '648183d86f6f8ffb240ea11b4c6873f6f45d8b67',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-xml',
},
maintainers = { '@ObserverOfTime' },
requires = { 'dtd' },
tier = 2,
},
-
xresources = {
install_info = {
url = 'https://github.com/ValdezFOmar/tree-sitter-xresources',
files = { 'src/parser.c' },
},
- filetype = 'xdefaults',
maintainers = { '@ValdezFOmar' },
tier = 3,
},
-
yaml = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-yaml',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = '7b03feefd36b5f155465ca736c6304aca983b267',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-yaml',
},
maintainers = { '@amaanq' },
tier = 2,
},
-
yang = {
install_info = {
- url = 'https://github.com/Hubro/tree-sitter-yang',
files = { 'src/parser.c' },
+ revision = '2c0e6be8dd4dcb961c345fa35c309ad4f5bd3502',
+ url = 'https://github.com/Hubro/tree-sitter-yang',
},
maintainers = { '@Hubro' },
tier = 3,
},
-
yuck = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-yuck',
files = { 'src/parser.c', 'src/scanner.c' },
+ revision = 'e877f6ade4b77d5ef8787075141053631ba12318',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-yuck',
},
maintainers = { '@Philipp-M', '@amaanq' },
tier = 2,
},
-
zathurarc = {
install_info = {
- url = 'https://github.com/Freed-Wu/tree-sitter-zathurarc',
files = { 'src/parser.c' },
+ revision = '6e7c8edfcd6f5f7c12b2fa9ffc6d042f1b6d7068',
+ url = 'https://github.com/Freed-Wu/tree-sitter-zathurarc',
},
maintainers = { '@Freed-Wu' },
tier = 3,
},
-
zig = {
install_info = {
- url = 'https://github.com/tree-sitter-grammars/tree-sitter-zig',
files = { 'src/parser.c' },
+ revision = '0d08703e4c3f426ec61695d7617415fff97029bd',
+ url = 'https://github.com/tree-sitter-grammars/tree-sitter-zig',
},
maintainers = { '@amaanq' },
tier = 1,
@@ -3022,33 +2967,3 @@ M.configs = {
tier = 3,
},
}
-
--- Get a list of all available parsers
----@param tier integer? only get parsers of specified tier
----@return string[]
-function M.get_available(tier)
- --- @type string[]
- local parsers = vim.tbl_keys(M.configs)
- table.sort(parsers)
- if tier then
- parsers = vim.tbl_filter(
- --- @param p string
- function(p)
- return M.configs[p].tier == tier
- end,
- parsers
- )
- end
- if vim.fn.executable('tree-sitter') == 0 then
- parsers = vim.tbl_filter(
- --- @param p string
- function(p)
- return M.configs[p].install_info ~= nil and not M.configs[p].install_info.generate
- end,
- parsers
- )
- end
- return parsers
-end
-
-return M
diff --git a/plugin/nvim-treesitter.lua b/plugin/nvim-treesitter.lua
index 32f3db311..b007ca29b 100644
--- a/plugin/nvim-treesitter.lua
+++ b/plugin/nvim-treesitter.lua
@@ -11,7 +11,7 @@ local function complete_available_parsers(arglead)
function(v)
return v:find(arglead) ~= nil
end,
- require('nvim-treesitter.parsers').get_available()
+ require('nvim-treesitter.config').get_available()
)
end
diff --git a/scripts/check-queries.lua b/scripts/check-queries.lua
index bfde0f8a3..dddaf80d7 100755
--- a/scripts/check-queries.lua
+++ b/scripts/check-queries.lua
@@ -2,7 +2,7 @@
vim.opt.runtimepath:append('.')
local query_types = require('nvim-treesitter.health').bundled_queries
-local configs = require('nvim-treesitter.parsers').configs
+local configs = require('nvim-treesitter.parsers')
local parsers = #_G.arg > 0 and { unpack(_G.arg) }
or require('nvim-treesitter.config').installed_parsers()
diff --git a/scripts/convert-lockfile.lua b/scripts/convert-lockfile.lua
new file mode 100755
index 000000000..e0a694897
--- /dev/null
+++ b/scripts/convert-lockfile.lua
@@ -0,0 +1,21 @@
+#!/usr/bin/env -S nvim -l
+vim.opt.runtimepath:append('.')
+local util = require('nvim-treesitter.util')
+local parsers = require('nvim-treesitter.parsers')
+
+local filename = require('nvim-treesitter.install').get_package_path('lockfile.json')
+local lockfile = vim.json.decode(util.read_file(filename)) --[[@as table<string,{revision:string}>]]
+
+for k, p in pairs(parsers) do
+ if p.install_info then
+ p.install_info.revision = lockfile[k].revision
+ end
+end
+
+-- write new parser file
+local header = '---@type nvim-ts.parsers\nreturn '
+local parser_file = header .. vim.inspect(parsers)
+if vim.fn.executable('stylua') == 1 then
+ parser_file = vim.system({ 'stylua', '-' }, { stdin = parser_file }):wait().stdout --[[@as string]]
+end
+util.write_file('lua/nvim-treesitter/parsers.lua', parser_file)
diff --git a/scripts/update-lockfile.lua b/scripts/update-lockfile.lua
deleted file mode 100755
index d77baed61..000000000
--- a/scripts/update-lockfile.lua
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env -S nvim -l
-vim.opt.runtimepath:append('.')
-local util = require('nvim-treesitter.util')
-local parsers = require('nvim-treesitter.parsers').configs
-
--- Load previous lockfile
-local filename = require('nvim-treesitter.install').get_package_path('lockfile.json')
-local old_lockfile = vim.json.decode(util.read_file(filename)) --[[@as table<string,{revision:string}>]]
-
-local jobs = {} ---@type table<string,vim.SystemObj>
-local new_lockfile = {} ---@type table<string,{revision:string}>
-local updates = {} ---@type string[]
-
--- check for new revisions
-for k, p in pairs(parsers) do
- if p.tier == 4 then
- new_lockfile[k] = old_lockfile[k]
- print('Skipping ' .. k)
- elseif p.install_info then
- print('Updating ' .. k)
- jobs[k] = vim.system({ 'git', 'ls-remote', p.install_info.url })
- end
-
- if #vim.tbl_keys(jobs) % 100 == 0 or next(parsers, k) == nil then
- for name, job in pairs(jobs) do
- local stdout = vim.split(job:wait().stdout, '\n')
- jobs[name] = nil
-
- local branch = parsers[name].install_info.branch
-
- local line = 1
- if branch then
- for j, l in ipairs(stdout) do
- if l:find(vim.pesc(branch)) then
- line = j
- break
- end
- end
- end
-
- local sha = vim.split(stdout[line], '\t')[1]
- new_lockfile[name] = { revision = sha }
- if new_lockfile[name].revision ~= old_lockfile[name].revision then
- updates[#updates + 1] = name
- end
- end
- end
-end
-
-assert(#vim.tbl_keys(jobs) == 0)
-
-if #updates > 0 then
- -- write new lockfile
- local lockfile_json = vim.json.encode(new_lockfile) --[[@as string]]
- if vim.fn.executable('jq') == 1 then
- lockfile_json =
- assert(vim.system({ 'jq', '--sort-keys' }, { stdin = lockfile_json }):wait().stdout)
- end
- util.write_file(filename, lockfile_json)
-
- print(string.format('\nUpdated parsers: %s', table.concat(updates, ', ')))
-else
- print('\nAll parsers up to date!')
-end
diff --git a/scripts/update-parsers.lua b/scripts/update-parsers.lua
new file mode 100755
index 000000000..ec1308d77
--- /dev/null
+++ b/scripts/update-parsers.lua
@@ -0,0 +1,65 @@
+#!/usr/bin/env -S nvim -l
+vim.opt.runtimepath:append('.')
+local util = require('nvim-treesitter.util')
+local parsers = require('nvim-treesitter.parsers')
+
+local jobs = {} ---@type table<string,vim.SystemObj>
+local updates = {} ---@type string[]
+
+-- check for new revisions
+for k, p in pairs(parsers) do
+ if p.tier < 5 and p.install_info then
+ print('Updating ' .. k)
+ jobs[k] = vim.system({ 'git', 'ls-remote', p.install_info.url })
+ end
+
+ if #vim.tbl_keys(jobs) % 100 == 0 or next(parsers, k) == nil then
+ for name, job in pairs(jobs) do
+ local stdout = vim.split(job:wait().stdout, '\n')
+ jobs[name] = nil
+
+ local info = parsers[name].install_info
+ assert(info)
+
+ local branch = info.branch
+ local line = 1
+ if branch then
+ for j, l in ipairs(stdout) do
+ if l:find(vim.pesc(branch)) then
+ line = j
+ break
+ end
+ end
+ end
+
+ local sha = vim.split(stdout[line], '\t')[1]
+ if info.revision ~= sha then
+ info.revision = sha
+ updates[#updates + 1] = name
+ end
+ end
+ end
+end
+
+assert(#vim.tbl_keys(jobs) == 0)
+
+if #updates > 0 then
+ -- write new parser file
+ local header = '---@type nvim-ts.parsers\nreturn '
+ local parser_file = header .. vim.inspect(parsers)
+ if vim.fn.executable('stylua') == 1 then
+ parser_file = vim.system({ 'stylua', '-' }, { stdin = parser_file }):wait().stdout --[[@as string]]
+ end
+ util.write_file('lua/nvim-treesitter/parsers.lua', parser_file)
+
+ local update_list = table.concat(updates, ', ')
+ print(string.format('\nUpdated parsers: %s', update_list))
+ -- pass list to workflow
+ if os.getenv('GITHUB_ENV') then
+ local env = io.open(os.getenv('GITHUB_ENV'), 'a')
+ env:write(string.format('UPDATED_PARSERS=%s\n', update_list))
+ env:close()
+ end
+else
+ print('\nAll parsers up to date!')
+end
diff --git a/scripts/update-readme.lua b/scripts/update-readme.lua
index f8346bf4d..9f6f9a3de 100755
--- a/scripts/update-readme.lua
+++ b/scripts/update-readme.lua
@@ -2,12 +2,13 @@
vim.opt.runtimepath:append('.')
local util = require('nvim-treesitter.util')
local parsers = require('nvim-treesitter.parsers')
+local tiers = require('nvim-treesitter.config').tiers
---@class Parser
---@field name string
---@field parser ParserInfo
local sorted_parsers = {}
-for k, v in pairs(parsers.configs) do
+for k, v in pairs(parsers) do
table.insert(sorted_parsers, { name = k, parser = v })
end
table.sort(sorted_parsers, function(a, b)
@@ -45,7 +46,7 @@ for _, v in ipairs(sorted_parsers) do
end
-- tier
- generated_text = generated_text .. (p.tier and parsers.tiers[p.tier] or '') .. ' | '
+ generated_text = generated_text .. (p.tier and tiers[p.tier] or '') .. ' | '
-- queries
generated_text = generated_text
diff --git a/tests/query/injections/nix/test-nix-injections.nix b/tests/query/injections/nix/test-nix-injections.nix
index 86e9f975d..477ca4abb 100644
--- a/tests/query/injections/nix/test-nix-injections.nix
+++ b/tests/query/injections/nix/test-nix-injections.nix
@@ -64,7 +64,7 @@
mod1 = {
type = "lua";
config = ''
- require('nvim-treesitter.configs').setup()
+ require('nvim-treesitter.config').setup()
'';
};
}