feat(install)!: generate from json instead of requiring node

Problem: Many parsers require node/npm to evaluate the `grammar.js`
before being able to generate a parser from it.

Solution: Generate from `grammar.json` instead, which is fully resolved.
Drops `node` and `npm` as (optional) requirements for nvim-treesitter.

Note that this requires parsers to commit the generated json iff the
grammar requires evaluation (which is currently the case for all tracked
languages).
This commit is contained in:
Christian Clason 2024-04-18 09:44:38 +02:00
parent 8f8cf7144d
commit 5a38df5627
10 changed files with 502 additions and 484 deletions

View file

@ -24,8 +24,8 @@ zimbu = {
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
requires_generate_from_grammar = true, -- only needed if repo does not contain pre-generated src/parser.c
generate_requires_npm = true, -- only needed if parser has npm dependencies
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
},
maintainers = { '@me' }, -- the _query_ maintainers
tier = 3, -- community-contributed parser