| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Problem: `locals.lua` was neither used nor tested, and providing it goes
against the goal of nvim-treesitter not being a required dependency for
other plugins.
Solution: Remove the module and document that the queries are provided
as-is for limited backward compatibility only.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Not easy to run all checks and tests locally. Redundant CI
workflows.
Solution: Separate CI into two workflows:
* lint: Lua files (stylua, luals), query files (valid captures,
predicates, directives using tsqueryls), docs
(SUPPORTED_LANGUAGES.md) -- does not need parser installation
* tests: parsers (ABI compatibility), query files (tsqueryls on
Linux/macOS; nvim on Windows), highlight and indent tests (separated
for better readability) -- needs parser installation (but only once)
Switch to https://github.com/nvim-treesitter/highlight-assertions fork
with ABI 15 support.
Run all tests (on Linux and macOS) through `make` (`formatlua`,
`checklua`, `lintquery`, `formatquery`, `checkquery`, `docs`, `tests`),
which downloads and caches all necessary dependencies.
Remove `update-readme` workflow (replaced by lint job on PRs).
|
| | |
|
| |
|
|
|
| |
`htmlangular` filetype support is now included in Nvim, so don't set
the filetype.
|
| | |
|
| |
|
|
|
| |
* add support for `:substitute` command
* add support for `=` lua chunks
|
| |
|
|
| |
`(underscore)` node was removed
|
| |
|
|
| |
templ, kotlin, tcl, meson, mlir
|
| | |
|
| |
|
|
| |
`main` branch and `parsers.lua` is the record of truth now
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
Instead, call `require('nvim-treesitter').install( { ... } )` manually.
This gives users full control over how they want to install parsers
(sync, from grammar, limited concurrency) and obviates the need for
calling `setup` for most users.
|
| |
|
|
| |
php_only, ocaml, ocaml_interface, php, astro, slang, slim, blade, gleam, v, ledger
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
javadoc, templ, jinja, tera, verilog, meson, mlir, typespec, wit, phpdoc, superhtml, git_config, swift, terraform, vim, koto, rasi, rescript, bp, enforce, erlang, jinja_inline, cmake, fennel, comment, slint, elm, rust, hcl
|
| | |
|
| | |
|
| |
|
|
| |
Use `:TSInstall!` or `force = true` to reinstall.
|
| |
|
|
|
|
| |
Problem: Some very long patterns were not formatted correctly.
Solution: Increase the match limit when iterating to 1024.
|
| |
|
|
|
|
|
| |
Problem: cannot run `:TSUpdate synchronously`
Solution: pass callback used after exiting jobs
(like in `install-parsers`).
|
| | |
|
| |
|
|
|
|
|
| |
* stable: updates follow semver releases (todo)
* unstable: updates follow HEAD (default)
* unmaintained: no automatic updates
* unsupported: no updates, cannot be installed
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
run on PR by adding label `ci:generate` or manually
|
| | |
|
| |
|
|
| |
use https://github.com/lewis6991/ts-install.nvim instead
|
| |
|
|
|
|
|
|
|
| |
Problem: Using git for installing parsers can lead to data loss if in a
git commit buffer.
Solution: Only support downloading via curl+tar, which are installed on
all supported platforms (since Windows 10). Curl will also be required
for WASM parsers (and for `vim.net.download()`).
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Using `url` for both remote repo and local path complicates the
code.
Solution: Add `path` field that overrides `url` and bypasses
git-specific manipulations, i.e., the contents of the `path` are used
as-is (no git repo needed).
This means `:TSUpdate` will skip such parsers; use `:TSInstall!` instead
after making local changes.
---------
Co-authored-by: Lewis Russell <lewis6991@gmail.com>
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
No need for assert as the use is contained within the script only
|
| |
|
|
|
| |
Update custom predicates and directives to handle multiple nodes per
capture ID per changes upstream.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|