<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nvim-treesitter/plugin/nvim-treesitter.lua, branch feat/stable</title>
<subtitle>[no description]</subtitle>
<id>http://git.sudomsg.com/mirror/nvim-treesitter/atom?h=feat%2Fstable</id>
<link rel='self' href='http://git.sudomsg.com/mirror/nvim-treesitter/atom?h=feat%2Fstable'/>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/'/>
<updated>2025-05-29T18:08:10Z</updated>
<entry>
<title>fix(install): don't print operation summary by default</title>
<updated>2025-05-29T18:08:10Z</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2025-05-29T10:25:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=ff770d718b34db10e33d18594153b4d1e0954882'/>
<id>urn:sha1:ff770d718b34db10e33d18594153b4d1e0954882</id>
<content type='text'>
Problem: People complain about noisy `install()`.

Solution: Gate operation summary behind `summary` install option
(default false, set to true for interactive `:TS*` commands).
</content>
</entry>
<entry>
<title>feat(api): expose list of available and installed languages</title>
<updated>2025-05-29T10:11:56Z</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2025-05-29T10:04:37Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=ce903fde5d36d7955d34faaf0b812a186417e746'/>
<id>urn:sha1:ce903fde5d36d7955d34faaf0b812a186417e746</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(config): check both installed parsers and queries</title>
<updated>2025-05-29T09:52:58Z</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2025-05-28T11:55:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=0860b9b1070c4e1bcce66416844b633acd8e0d2a'/>
<id>urn:sha1:0860b9b1070c4e1bcce66416844b633acd8e0d2a</id>
<content type='text'>
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).
</content>
</entry>
<entry>
<title>feat!: track parser revision in Lua</title>
<updated>2025-05-12T16:43:40Z</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2024-04-14T14:25:28Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=c17de5689045f75c6244462182ae3b4b62df02d9'/>
<id>urn:sha1:c17de5689045f75c6244462182ae3b4b62df02d9</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>feat(install)!: generate from json instead of requiring node</title>
<updated>2025-05-12T16:43:40Z</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2024-04-18T07:44:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=5a38df5627fd0658223bdf32c9d6a87e32eb9504'/>
<id>urn:sha1:5a38df5627fd0658223bdf32c9d6a87e32eb9504</id>
<content type='text'>
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).
</content>
</entry>
<entry>
<title>fix: do not use vim.iter (#6469)</title>
<updated>2025-05-12T16:43:40Z</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2024-04-19T17:12:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=0bb981c87604200df6c8fb81e5a411101bdf93af'/>
<id>urn:sha1:0bb981c87604200df6c8fb81e5a411101bdf93af</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: drop `TSInstallInfo` in favor of better `checkhealth`</title>
<updated>2025-05-12T16:43:40Z</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2023-06-06T09:02:28Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=5a70048116f8fb7489aa68e347d9dfe57dc39498'/>
<id>urn:sha1:5a70048116f8fb7489aa68e347d9dfe57dc39498</id>
<content type='text'>
also fixes the hole in install.compilers
</content>
</entry>
<entry>
<title>refactor: rewrite installation using jobs and async</title>
<updated>2025-05-12T16:43:40Z</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2023-05-22T13:35:25Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=cde679e435ade757733772236abf299fc06da231'/>
<id>urn:sha1:cde679e435ade757733772236abf299fc06da231</id>
<content type='text'>
Replace sync variants with callback support
</content>
</entry>
<entry>
<title>feat!: drop modules, general refactor and cleanup</title>
<updated>2025-05-12T16:43:40Z</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2023-06-12T15:54:30Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=692b051b09935653befdb8f7ba8afdb640adf17b'/>
<id>urn:sha1:692b051b09935653befdb8f7ba8afdb640adf17b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat!: remove obsolete `TS*` highlight groups</title>
<updated>2022-10-16T13:50:55Z</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2022-10-16T12:52:15Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=42ab95d5e11f247c6f0c8f5181b02e816caa4a4f'/>
<id>urn:sha1:42ab95d5e11f247c6f0c8f5181b02e816caa4a4f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(highlight): re-apply default highlights on colorscheme changes</title>
<updated>2022-07-30T18:13:24Z</updated>
<author>
<name>John Drouhard</name>
<email>john@drouhard.dev</email>
</author>
<published>2022-07-29T14:24:41Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=635c450939e19c02538d6700e9b7f828db31e4eb'/>
<id>urn:sha1:635c450939e19c02538d6700e9b7f828db31e4eb</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>refactor!: update to Neovim 0.7 APIs</title>
<updated>2022-04-30T14:08:01Z</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2022-04-16T15:49:17Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-treesitter/commit/?id=07eb437bb1c4c0a0298553dd509294f82362d6bc'/>
<id>urn:sha1:07eb437bb1c4c0a0298553dd509294f82362d6bc</id>
<content type='text'>
* set highlight groups via nvim_set_hl
* define autocommands via nvim_create_autocmd
* port plugin/nvim-treesitter.vim to Lua
* port healthcheck to Lua
</content>
</entry>
</feed>
