aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* feat(parsers): update gdscript, gitattributes, godot_resource, xresources, ↵Christian Clason2025-05-301-19/+19
| | | | yaml, ocaml, koto, ocaml_interface, c, ini, mlir, scheme, slint, c3, r, clojure, desktop, editorconfig, fortran
* fix(install): don't print operation summary by defaultChristian Clason2025-05-294-13/+43
| | | | | | | Problem: People complain about noisy `install()`. Solution: Gate operation summary behind `summary` install option (default false, set to true for interactive `:TS*` commands).
* feat(api): expose list of available and installed languagesChristian Clason2025-05-298-13/+36
|
* fix(config): check both installed parsers and queriesChristian Clason2025-05-296-18/+24
| | | | | | | | | Problem: Can't uninstall custom parsers without queries since `installed_parsers` only iterates over installed queries (to include query-only languages, and to avoid string manipulation). Solution: Iterate over both queries and parsers to collect list of installed languages (optionally only queries or only parsers).
* fix(install): only install queries for bundled parsersChristian Clason2025-05-291-10/+17
|
* fix(install): don't skip un-tiered parsersChristian Clason2025-05-291-1/+1
|
* feat: add c3 (#7891)Christian Buttner2025-05-286-0/+530
|
* fix(just): do not restrict `@function.call` to explicit list (#7905)Noah Bogart2025-05-281-11/+1
|
* fix(queries): fix rebase errors on mainChristian Clason2025-05-283-12/+15
|
* fix(health): only require ts>=v0.25Christian Clason2025-05-271-1/+1
|
* fix(haskell): properly set inline-python injection languageMarc Jakobi2025-05-271-3/+4
|
* fix(install): create cache dir if not existingChristian Clason2025-05-262-3/+4
|
* fix(swift): mark as unmaintainedChristian Clason2025-05-262-2/+2
| | | | | Prevent from updating parser with breaking changes until queries are adapted.
* fix(config): prepend install_dir to rtpChristian Clason2025-05-252-2/+2
|
* fix(typst): restore missing injectionsChristian Clason2025-05-251-0/+4
|
* 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
* feat(bash): highlight variable argument for `printf -v`Omar Valdez2025-05-241-0/+11
|
* ci(test): throttle all install stepsChristian Clason2025-05-221-1/+1
|
* fix(install): return task object in API functionsChristian Clason2025-05-222-5/+5
|
* feat(inko): add scoping to the locals queriesYorick Peterse2025-05-221-8/+12
| | | | | This way tooling that makes use of these queries (e.g. snacks.nvim) is aware of the scoping of Inko types and methods.
* docs: final update after rewriteChristian Clason2025-05-213-53/+28
| | | | Make clear this is not the default branch
* feat(parsers): update markdown_inline, markdown, vimdoc, fsharp, pascal, ↵Christian Clason2025-05-181-11/+11
| | | | racket, lua, scheme, gleam, ocamllex, query
* fix: tidy up some query mistakesRiley Bruins2025-05-183-5/+3
| | | | Revealed by the capture-less patterns lint
* 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-167-171/+784
| | | | 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-164-25/+3
| | | | This was only useful for no longer supported `auto_install` option.
* fix(c,cpp,fsharp,idl,powershell,sql,systemtap): remove unneeded escapesChristian Clason2025-05-137-8/+8
|
* fix(hcl): remove unnecessary escapesChristian Clason2025-05-131-3/+3
|
* ci(test): remove parser cacheChristian Clason2025-05-131-16/+4
| | | | | | Since installation now installs parsers _and_ queries, caching parsers doesn't allow skipping the installation step (and caching queries does not pay off).
* docs: update to rewriteChristian Clason2025-05-128-292/+396
| | | | | | | | | | | 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!: update tier 1 parsers to versionsChristian Clason2025-05-125-18/+58
|
* feat(locals)!: remove locals moduleChristian Clason2025-05-123-461/+5
| | | | | | | | | 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.
* feat(tests)!: new infrastructure based on makefileChristian Clason2025-05-1219-264/+261
| | | | | | | | | | | | | | | | | | | | | | 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).
* refactor(locals): fix type annotations and warningsRiley Bruins2025-05-121-25/+15
|
* tests(angular): don' reset filetypeChristian Clason2025-05-121-1/+0
| | | | | `htmlangular` filetype support is now included in Nvim, so don't set the filetype.
* tests(gleam): fix assert tests that no longer parse correctlyChristian Clason2025-05-125-10/+11
|
* feat(vim): update parser and queriesChristian Clason2025-05-122-1/+5
| | | | | * add support for `:substitute` command * add support for `=` lua chunks
* feat(gdscript)!: update parser and queriesChristian Clason2025-05-122-5/+5
| | | | `(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
|
* chore: remove lockfile and update scriptChristian Clason2025-05-122-978/+0
| | | | `main` branch and `parsers.lua` is the record of truth now
* refactor(lua): fix some luals warningsChristian Clason2025-05-1212-61/+61
|
* feat(install)!: always generate from json if possibleChristian Clason2025-05-126-374/+347
|
* feat(setup)!: remove ensure_install fieldChristian Clason2025-05-127-46/+37
| | | | | | | | 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: add .tsqueryrc.jsonChristian Clason2025-05-123-0/+377
|
* feat(parsers): update ziggy, ziggy_schema, bibtex, latexChristian Clason2025-05-121-4/+4
|