| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | feat(locals)!: remove locals module | Christian Clason | 2025-05-12 | 1 | -457/+0 |
| | | | | | | | | | | 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. | ||||
| * | refactor(locals): fix type annotations and warnings | Riley Bruins | 2025-05-12 | 1 | -25/+15 |
| | | |||||
| * | tests(gleam): fix assert tests that no longer parse correctly | Christian Clason | 2025-05-12 | 1 | -1/+2 |
| | | |||||
| * | feat(vim): update parser and queries | Christian Clason | 2025-05-12 | 1 | -1/+1 |
| | | | | | | * add support for `:substitute` command * add support for `=` lua chunks | ||||
| * | feat(gdscript)!: update parser and queries | Christian Clason | 2025-05-12 | 1 | -1/+1 |
| | | | | | `(underscore)` node was removed | ||||
| * | feat(parsers): update robot, earthfile, racket, javadoc, scheme, t32, tact, ↵ | Christian Clason | 2025-05-12 | 1 | -12/+12 |
| | | | | | templ, kotlin, tcl, meson, mlir | ||||
| * | fix(indent): don't skip parsing for yaml | Christian Clason | 2025-05-12 | 1 | -12/+2 |
| | | |||||
| * | refactor(lua): fix some luals warnings | Christian Clason | 2025-05-12 | 5 | -29/+28 |
| | | |||||
| * | feat(install)!: always generate from json if possible | Christian Clason | 2025-05-12 | 3 | -44/+12 |
| | | |||||
| * | feat(setup)!: remove ensure_install field | Christian Clason | 2025-05-12 | 2 | -13/+12 |
| | | | | | | | | | 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. | ||||
| * | feat(parsers): update swift, tact, tcl, templ, mlir, kotlin, koto, elixir, ↵ | Christian Clason | 2025-05-12 | 1 | -19/+19 |
| | | | | | php_only, ocaml, ocaml_interface, php, astro, slang, slim, blade, gleam, v, ledger | ||||
| * | feat(parsers): update ziggy, ziggy_schema, bibtex, latex | Christian Clason | 2025-05-12 | 1 | -4/+4 |
| | | |||||
| * | feat(tcl)!: update parser and queries | Christian Clason | 2025-05-12 | 1 | -1/+1 |
| | | |||||
| * | feat(julia)!: update parser and queries | Christian Clason | 2025-05-12 | 1 | -1/+1 |
| | | |||||
| * | feat(parsers): update nickel, sql, devicetree, dhall, htmldjango, t32, gap, ↵ | Christian Clason | 2025-05-12 | 1 | -36/+36 |
| | | | | | 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 | ||||
| * | feat(html): use gsub for mimetype lookup | Christian Clason | 2025-05-12 | 1 | -1/+1 |
| | | |||||
| * | fix(install): skip tier 4 parsers when installing and updating | Christian Clason | 2025-05-12 | 6 | -40/+51 |
| | | |||||
| * | fix(install): don't prompt on installed parsers (skip) | Christian Clason | 2025-05-12 | 2 | -11/+3 |
| | | | | | Use `:TSInstall!` or `force = true` to reinstall. | ||||
| * | fix(formatter): increase match limit | Christian Clason | 2025-05-12 | 1 | -49/+49 |
| | | | | | | | Problem: Some very long patterns were not formatted correctly. Solution: Increase the match limit when iterating to 1024. | ||||
| * | feat(install): allow pass callback to `update()` | przepompownia | 2025-05-12 | 2 | -36/+39 |
| | | | | | | | | Problem: cannot run `:TSUpdate synchronously` Solution: pass callback used after exiting jobs (like in `install-parsers`). | ||||
| * | fix(install): early return if parser_info does not exist | Sebastian Lyng Johansen | 2025-05-12 | 2 | -38/+39 |
| | | |||||
| * | feat(parsers): rework tiers | Christian Clason | 2025-05-12 | 3 | -242/+242 |
| | | | | | | | | * stable: updates follow semver releases (todo) * unstable: updates follow HEAD (default) * unmaintained: no automatic updates * unsupported: no updates, cannot be installed | ||||
| * | fix(ci): update to changed neovim release name | Christian Clason | 2025-05-12 | 1 | -64/+63 |
| | | |||||
| * | fix(install): return error code in callback | Christian Clason | 2025-05-12 | 3 | -173/+174 |
| | | |||||
| * | feat(install)!: bump minimum tree-sitter version to 0.24 | Christian Clason | 2025-05-12 | 3 | -25/+24 |
| | | |||||
| * | ci(tests): add optional workflow for generating grammars | Christian Clason | 2025-05-12 | 1 | -104/+102 |
| | | | | | run on PR by adding label `ci:generate` or manually | ||||
| * | feat(install): allow specifying max jobs | Christian Clason | 2025-05-12 | 1 | -2/+3 |
| | | |||||
| * | feat(config)!: remove auto_install | Christian Clason | 2025-05-12 | 2 | -78/+55 |
| | | | | | use https://github.com/lewis6991/ts-install.nvim instead | ||||
| * | feat(install)!: drop support for git | Christian Clason | 2025-05-12 | 3 | -270/+261 |
| | | | | | | | | | | 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()`). | ||||
| * | feat!: use tree-sitter build | Christian Clason | 2025-05-12 | 5 | -527/+141 |
| | | |||||
| * | feat!: track parser revision in Lua | Christian Clason | 2025-05-12 | 5 | -808/+779 |
| | | | | | | | | | | | | 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. | ||||
| * | fix: vim.tbl_flatten is deprecated | Christian Clason | 2025-05-12 | 1 | -1/+1 |
| | | |||||
| * | feat(install)!: generate from json instead of requiring node | Christian Clason | 2025-05-12 | 3 | -186/+195 |
| | | | | | | | | | | | | | 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). | ||||
| * | feat(install)!: add explicit path field to parser info (#6476) | Christian Clason | 2025-05-12 | 2 | -77/+54 |
| | | | | | | | | | | | | | | | | 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> | ||||
| * | fix: do not use vim.iter (#6469) | Lewis Russell | 2025-05-12 | 3 | -29/+57 |
| | | |||||
| * | feat: improve logging of failed installs | Lewis Russell | 2025-05-12 | 2 | -135/+108 |
| | | |||||
| * | feat(install)!: remove support for C++ scanners | Christian Clason | 2025-05-12 | 1 | -15/+1 |
| | | |||||
| * | refactor: pull out predicate function | Lewis Russell | 2025-05-12 | 1 | -11/+9 |
| | | |||||
| * | fix: update vim.system types | Lewis Russell | 2025-05-12 | 1 | -2/+2 |
| | | |||||
| * | feat: allow a custom revision in install_info | Lewis Russell | 2025-05-12 | 2 | -0/+6 |
| | | |||||
| * | fix: cleanup diagnostics | Lewis Russell | 2025-05-12 | 2 | -49/+39 |
| | | |||||
| * | fix: add stricter cc options (#5063) | Lewis Russell | 2025-05-12 | 1 | -2/+30 |
| | | |||||
| * | fix: always normalize paths | TheLeoP | 2025-05-12 | 2 | -2/+2 |
| | | | | | | | Not doing this results in paths with a mix of '\\' and '/' for Windows. This isn't a problem when dealing with Neovim/luv APIs, but it is a problem when comparing strings. | ||||
| * | fix: check if config has install_info in filter | TheLeoP | 2025-05-12 | 1 | -1/+2 |
| | | |||||
| * | fix: check queries in needs_update() | Lewis Russell | 2025-05-12 | 1 | -1/+10 |
| | | |||||
| * | fix: filter languages through parser.configs | Lewis Russell | 2025-05-12 | 1 | -2/+6 |
| | | |||||
| * | feat: add parser tiers | Christian Clason | 2025-05-12 | 3 | -22/+166 |
| | | | | | | | | | | | Tier 1: Stable Tier 2: Core (maintained by org members) Tier 3: Community (maintained by external contributors, to varying degree) Tier 4: Unsupported (lacking active maintainer or declared experimental); skipped in lockfile update and ignored for automatic install by default | ||||
| * | feat!: drop makefile support, norg parser | Christian Clason | 2025-05-12 | 2 | -24/+2 |
| | | | | | | | | | | Norg install_info and queries are maintained by neorg. All other parsers are compatible with C++11, so fix that as standard. (Can be bumped if all supported platforms support C++14.) Remove Makefile support, as it's no longer needed. | ||||
| * | refactor: use vim.system (#4923) | Lewis Russell | 2025-05-12 | 5 | -191/+63 |
| | | |||||
| * | fix: expand tiers in ignore_install | Christian Clason | 2025-05-12 | 1 | -13/+17 |
| | | |||||
