| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | 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 | |
| | | ||||||
| * | feat: drop `TSInstallInfo` in favor of better `checkhealth` | Christian Clason | 2025-05-12 | 2 | -76/+67 | |
| | | | | | also fixes the hole in install.compilers | |||||
| * | refactor: use `vim.uv` | Christian Clason | 2025-05-12 | 5 | -8/+8 | |
| | | ||||||
| * | fix: install dependencies | Christian Clason | 2025-05-12 | 4 | -81/+152 | |
| | | ||||||
| * | refactor: rewrite installation using jobs and async | Lewis Russell | 2025-05-12 | 9 | -650/+930 | |
| | | | | | Replace sync variants with callback support | |||||
