aboutsummaryrefslogtreecommitdiffstats
path: root/lua
Commit message (Collapse)AuthorAgeFilesLines
* fix(health): only require ts>=v0.25Christian Clason2025-05-271-1/+1
|
* fix(install): create cache dir if not existingChristian Clason2025-05-261-0/+4
|
* fix(swift): mark as unmaintainedChristian Clason2025-05-261-1/+1
| | | | | Prevent from updating parser with breaking changes until queries are adapted.
* fix(config): prepend install_dir to rtpChristian Clason2025-05-251-1/+1
|
* feat(parsers): update desktop, dtd, editorconfig, janet_simple, liquid, c, ↵Christian Clason2025-05-241-16/+16
| | | | v, perl, mlir, templ, vhdl, xml, xresources, yaml, tlaplus, cmake
* fix(install): return task object in API functionsChristian Clason2025-05-221-3/+3
|
* feat(parsers): update markdown_inline, markdown, vimdoc, fsharp, pascal, ↵Christian Clason2025-05-181-11/+11
| | | | racket, lua, scheme, gleam, ocamllex, query
* feat(parsers): update javadoc, jq, hcl, query, smithy, earthfile, tcl, llvm, ↵Christian Clason2025-05-161-14/+14
| | | | godot_resource, git_config, terraform, teal, gdscript, mlir
* feat(install)!: migrate to latest async.nvim impl (#7856)Lewis Russell2025-05-162-126/+760
| | | | Provides significantly simpler blocking installation and update.
* refactor(indent): use `node:byte_length()Christian Clason2025-05-161-9/+1
|
* feat(config)!: remove `ignore_install`Christian Clason2025-05-162-17/+3
| | | | This was only useful for no longer supported `auto_install` option.
* docs: update to rewriteChristian Clason2025-05-121-1/+1
| | | | | | | | | | | This updates * README * CONTRIBUTING * the `:h nvim-treesitter` documentation to the current state of `main`. It also adds a pull request template for adding a new language.
* feat(parsers): update t32, query, markdown, markdown_inline, meson, ↵Christian Clason2025-05-121-9/+9
| | | | hyprlang, mlir, cpp, cylc
* feat(parsers): update vim, gren, comment, purescript, elm, matlab, javadoc, ↵Christian Clason2025-05-121-11/+11
| | | | swift, godot_resource, query, vimdoc, ledger
* feat(locals)!: remove locals moduleChristian Clason2025-05-121-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 warningsRiley Bruins2025-05-121-25/+15
|
* tests(gleam): fix assert tests that no longer parse correctlyChristian Clason2025-05-121-1/+2
|
* feat(vim): update parser and queriesChristian Clason2025-05-121-1/+1
| | | | | * add support for `:substitute` command * add support for `=` lua chunks
* feat(gdscript)!: update parser and queriesChristian Clason2025-05-121-1/+1
| | | | `(underscore)` node was removed
* feat(parsers): update robot, earthfile, racket, javadoc, scheme, t32, tact, ↵Christian Clason2025-05-121-12/+12
| | | | templ, kotlin, tcl, meson, mlir
* fix(indent): don't skip parsing for yamlChristian Clason2025-05-121-12/+2
|
* refactor(lua): fix some luals warningsChristian Clason2025-05-125-29/+28
|
* feat(install)!: always generate from json if possibleChristian Clason2025-05-123-44/+12
|
* feat(setup)!: remove ensure_install fieldChristian Clason2025-05-122-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 Clason2025-05-121-19/+19
| | | | php_only, ocaml, ocaml_interface, php, astro, slang, slim, blade, gleam, v, ledger
* feat(parsers): update ziggy, ziggy_schema, bibtex, latexChristian Clason2025-05-121-4/+4
|
* feat(tcl)!: update parser and queriesChristian Clason2025-05-121-1/+1
|
* feat(julia)!: update parser and queriesChristian Clason2025-05-121-1/+1
|
* feat(parsers): update nickel, sql, devicetree, dhall, htmldjango, t32, gap, ↵Christian Clason2025-05-121-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 lookupChristian Clason2025-05-121-1/+1
|
* fix(install): skip tier 4 parsers when installing and updatingChristian Clason2025-05-126-40/+51
|
* fix(install): don't prompt on installed parsers (skip)Christian Clason2025-05-122-11/+3
| | | | Use `:TSInstall!` or `force = true` to reinstall.
* fix(formatter): increase match limitChristian Clason2025-05-121-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()`przepompownia2025-05-122-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 existSebastian Lyng Johansen2025-05-122-38/+39
|
* feat(parsers): rework tiersChristian Clason2025-05-123-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 nameChristian Clason2025-05-121-64/+63
|
* fix(install): return error code in callbackChristian Clason2025-05-123-173/+174
|
* feat(install)!: bump minimum tree-sitter version to 0.24Christian Clason2025-05-123-25/+24
|
* ci(tests): add optional workflow for generating grammarsChristian Clason2025-05-121-104/+102
| | | | run on PR by adding label `ci:generate` or manually
* feat(install): allow specifying max jobsChristian Clason2025-05-121-2/+3
|
* feat(config)!: remove auto_installChristian Clason2025-05-122-78/+55
| | | | use https://github.com/lewis6991/ts-install.nvim instead
* feat(install)!: drop support for gitChristian Clason2025-05-123-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 buildChristian Clason2025-05-125-527/+141
|
* feat!: track parser revision in LuaChristian Clason2025-05-125-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 deprecatedChristian Clason2025-05-121-1/+1
|
* feat(install)!: generate from json instead of requiring nodeChristian Clason2025-05-123-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 Clason2025-05-122-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 Russell2025-05-123-29/+57
|
* feat: improve logging of failed installsLewis Russell2025-05-122-135/+108
|