aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* feat(install)!: bump minimum tree-sitter version to 0.24Christian Clason2025-05-124-27/+26
|
* ci(tests): add optional workflow for generating grammarsChristian Clason2025-05-126-159/+201
| | | | run on PR by adding label `ci:generate` or manually
* feat(install): allow specifying max jobsChristian Clason2025-05-122-3/+7
|
* feat(config)!: remove auto_installChristian Clason2025-05-125-87/+58
| | | | use https://github.com/lewis6991/ts-install.nvim instead
* feat(install)!: drop support for gitChristian Clason2025-05-125-289/+295
| | | | | | | | | 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-1213-895/+440
|
* feat!: track parser revision in LuaChristian Clason2025-05-1221-982/+994
| | | | | | | | | | | 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-122-2/+2
|
* feat(install)!: generate from json instead of requiring nodeChristian Clason2025-05-1210-484/+502
| | | | | | | | | | | | 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).
* bot(readme): updatenvim-treesitter-bot[bot]2025-05-121-7/+7
|
* feat(install)!: add explicit path field to parser info (#6476)Christian Clason2025-05-123-77/+55
| | | | | | | | | | | | | | | 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-124-35/+71
|
* feat: improve logging of failed installsLewis Russell2025-05-122-135/+108
|
* feat(install)!: remove support for C++ scannersChristian Clason2025-05-123-18/+4
|
* doc: better clarification of highlights/injectionsPhạm Huy Hoàng2025-05-121-1/+2
|
* fix(format): update scripts to support nightly (#6126)Phạm Huy Hoàng2025-05-121-12/+27
| | | | No need for assert as the use is contained within the script only
* fix: update add_predicate and add_directive calls for upstream (#6106)Gregory Anders2025-05-121-14/+35
| | | | | Update custom predicates and directives to handle multiple nodes per capture ID per changes upstream.
* fix: better output for update-lockfileChristian Clason2025-05-121-13/+20
|
* feat: improve check-queriesChristian Clason2025-05-121-58/+39
|
* docs: update CONTRIBUTING.mdChristian Clason2025-05-121-19/+46
|
* refactor: pull out predicate functionLewis Russell2025-05-121-11/+9
|
* fix: update vim.system typesLewis Russell2025-05-121-2/+2
|
* fix: remove downcase! directive useLewis Russell2025-05-121-2/+1
|
* feat: allow a custom revision in install_infoLewis Russell2025-05-122-0/+6
|
* fix!: indents now rely on treesitter highlightPham Huy Hoang2025-05-122-45/+27
| | | | | - Apply suggestions from Lewis to only parse visible lines - Fix failed tests
* docs(readme): document 'location' keyChristian Clason2025-05-121-6/+7
|
* tests: remove set ftPham Huy Hoang2025-05-123-3/+0
|
* fix: cleanup diagnosticsLewis Russell2025-05-122-49/+39
|
* fix: add stricter cc options (#5063)Lewis Russell2025-05-121-2/+30
|
* fix: remove upstreamed directivesChristian Clason2025-05-127-135/+11
| | | | `#inject-lang!` and `#trim!`; fix `set-lang-from-mimetype`
* fix: always normalize pathsTheLeoP2025-05-122-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 filterTheLeoP2025-05-121-1/+2
|
* fix: check queries in needs_update()Lewis Russell2025-05-121-1/+10
|
* fix: filter languages through parser.configsLewis Russell2025-05-121-2/+6
|
* feat: add parser tiersChristian Clason2025-05-127-254/+397
| | | | | | | | | | 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 parserChristian Clason2025-05-127-81/+3
| | | | | | | | | 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 Russell2025-05-126-216/+103
|
* fix: expand tiers in ignore_installChristian Clason2025-05-121-13/+17
|
* feat: drop `TSInstallInfo` in favor of better `checkhealth`Christian Clason2025-05-124-87/+70
| | | | also fixes the hole in install.compilers
* refactor: use `vim.uv`Christian Clason2025-05-129-62/+40
|
* fix: install dependenciesChristian Clason2025-05-128-120/+196
|
* ci: remove update-lockfile shell scriptChristian Clason2025-05-1215-103/+84
|
* refactor: rewrite installation using jobs and asyncLewis Russell2025-05-1215-704/+946
| | | | Replace sync variants with callback support
* refactor: use vim.fs.joinpathChristian Clason2025-05-127-39/+28
|
* feat!: drop luarocks releaseChristian Clason2025-05-123-101/+0
|
* feat(locals)!: refactor `locals.lua` into standaloneChristian Clason2025-05-126-528/+418
| | | | Co-authored-by: TheLeoP <eugenio2305@hotmail.com>
* feat!: drop modules, general refactor and cleanupChristian Clason2025-05-121247-8500/+5522
|
* feat(c-family): inherit injectionsObserverOfTime2025-05-127-24/+21
|
* injections(nix): add nixosTest.testScript + home-manager nvim configMarc Jakobi2025-05-122-0/+99
| | | | | | (+ add Check to mkDerivation bash matches) (+ add Check to mkDerivation bash matches)
* feat(yuck): add missing injectionsObserverOfTime2025-05-121-0/+24
| | | | And builtin variable highlights