aboutsummaryrefslogtreecommitdiffstats
path: root/plugin/nvim-treesitter.lua
Commit message (Collapse)AuthorAgeFilesLines
* fix(install): don't print operation summary by defaultChristian Clason2025-05-291-3/+4
| | | | | | | 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-291-1/+1
|
* fix(config): check both installed parsers and queriesChristian Clason2025-05-291-1/+1
| | | | | | | | | 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).
* feat!: track parser revision in LuaChristian Clason2025-05-121-1/+1
| | | | | | | | | | | 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.
* feat(install)!: generate from json instead of requiring nodeChristian Clason2025-05-121-1/+1
| | | | | | | | | | | | 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).
* fix: do not use vim.iter (#6469)Lewis Russell2025-05-121-6/+14
|
* feat: drop `TSInstallInfo` in favor of better `checkhealth`Christian Clason2025-05-121-4/+0
| | | | also fixes the hole in install.compilers
* refactor: rewrite installation using jobs and asyncLewis Russell2025-05-121-22/+6
| | | | Replace sync variants with callback support
* feat!: drop modules, general refactor and cleanupChristian Clason2025-05-121-25/+77
|
* feat!: remove obsolete `TS*` highlight groupsChristian Clason2022-10-161-10/+0
|
* feat(highlight): re-apply default highlights on colorscheme changesJohn Drouhard2022-07-301-85/+8
| | | | | | | | | | | | | | | | | | If the plugin is loaded after a colorscheme is set that defines any of these highlight groups, the default won't be applied. Subsequent "highlight clear" commands (common when switching colorschemes) will then clear any of those highlights, but these defaults never have another opportunity to be initialized. Effectively, if you load neovim with a colorscheme that has definitions for some of these highlight groups, then load treesitter, then switch colorschemes, many of these default links will be absent resulting in colors that do not appear the same as if that colorscheme had been used at startup. Hooking the ColorScheme event with an autocmd that just reapplies these defaults gives every colorscheme switch the opportunity to get the defaults for non-explicitly-defined groups.
* refactor!: update to Neovim 0.7 APIsChristian Clason2022-04-301-0/+121
* set highlight groups via nvim_set_hl * define autocommands via nvim_create_autocmd * port plugin/nvim-treesitter.vim to Lua * port healthcheck to Lua