aboutsummaryrefslogtreecommitdiffstats
path: root/lua
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* feat(install)!: remove support for C++ scannersChristian Clason2025-05-121-15/+1
|
* refactor: pull out predicate functionLewis Russell2025-05-121-11/+9
|
* fix: update vim.system typesLewis Russell2025-05-121-2/+2
|
* feat: allow a custom revision in install_infoLewis Russell2025-05-122-0/+6
|
* fix: cleanup diagnosticsLewis Russell2025-05-122-49/+39
|
* fix: add stricter cc options (#5063)Lewis Russell2025-05-121-2/+30
|
* 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-123-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 parserChristian Clason2025-05-122-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 Russell2025-05-125-191/+63
|
* fix: expand tiers in ignore_installChristian Clason2025-05-121-13/+17
|
* feat: drop `TSInstallInfo` in favor of better `checkhealth`Christian Clason2025-05-122-76/+67
| | | | also fixes the hole in install.compilers
* refactor: use `vim.uv`Christian Clason2025-05-125-8/+8
|
* fix: install dependenciesChristian Clason2025-05-124-81/+152
|
* refactor: rewrite installation using jobs and asyncLewis Russell2025-05-129-650/+930
| | | | Replace sync variants with callback support
* refactor: use vim.fs.joinpathChristian Clason2025-05-124-36/+25
|
* feat(locals)!: refactor `locals.lua` into standaloneChristian Clason2025-05-122-250/+133
| | | | Co-authored-by: TheLeoP <eugenio2305@hotmail.com>
* feat!: drop modules, general refactor and cleanupChristian Clason2025-05-1223-5943/+3151
|
* feat(brightscript): brightscript parser and queries (#7780)AJ Delcimmuto2025-04-131-0/+8
|
* feat(caddy): add parser and queries (#7588)Vladimir Levin2025-03-231-0/+8
| | | | | --------- Co-authored-by: Christian Clason <c.clason@uni-graz.at>
* feat(javadoc): add parser and queries (#7749)Robert Muir2025-03-231-0/+8
| | | | | | | | | Previously java was configured to use doxygen parser for documentation comments, but javadocs are not doxygen. Inline tags have a different syntax, block tags are not recognized, and doxygen creates a lot of errors during highlighting. Add parser for javadoc comments, with queries for highlights and injections.
* feat(blade): add laravel blade parser and queries (#7693)Caleb White2025-03-121-0/+8
|
* feat(tera): add parser and queriesuncenter2025-03-091-0/+8
|
* feat(kdl): parser and queries (#7657)Bert Baron2025-02-271-0/+8
|
* fix(earthfile): adapt to new default branch (with external scanner)Christian Clason2025-02-191-1/+1
|
* feat(parsers)!: drop orgChristian Clason2025-02-161-7/+0
| | | | | The parser has neither queries nor a listed maintainer here and hasn't seen updates in two years.
* fix(razor): mark `npm` as required for generating from sourceAmaan Qureshi2025-02-081-0/+1
|
* feat(jinja): add parser and queries (#7573)loongtao.zhang2025-02-081-0/+18
| | | | Signed-off-by: loongtao.zhang <loongtao.zhang@outlook.com> Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* feat(enforce): add parser and queries (#7626)simonvic2025-02-081-0/+8
|
* feat(razor): add parser and queries (#7545)Tristan Knight2025-02-011-0/+8
|
* feat(slim): add parser and queries (#7425)Théo Reichel2025-01-211-0/+8
|
* fix(install): use std=c11Gabriel Holodak2025-01-201-0/+3
|
* fix(install): preserve command return code on WindowsGabriel Holodak2025-01-201-2/+2
| | | | | | `:TSInstallSync` relies on the `:system()` command to set `v:shell_error` when an error code is returned during installation. On Windows, the error code was always overwritten by `popd`'s return code.
* fix: node selection at line start that ends injected regionJaehwang Jung2025-01-201-4/+18
|
* fix(inc-selection): handle injectionsJaehwang Jung2025-01-201-7/+16
| | | | | | | | | | | | | | | * Parse injections before starting selection. * Make node_incremental climb up the LanaguageTree step by step. Previously it only considered the root parser and the bottommost parser. Now it works well with document with deeper injections, e.g., ```lua vim.cmd[=[ echo 'hello' 'world!' lua << EOF vim.cmd[[echo 'hello' 'world!']] EOF ]=] ```
* feat(idris): add parser and queries (#7274)Serhii Khoma2025-01-161-0/+9
|
* feat(ipkg): add parser and queries (#7277)Serhii Khoma2024-12-301-0/+8
| | | Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
* feat(circom): add parser and queriesAlexandr Martirosyan2024-12-061-0/+8
|