You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
nvim-treesitter was archived on April 3, 2026 following the Neovim 0.12 release, which ships treesitter support natively. The plugin will receive no further maintenance, bug fixes, or API-compatibility updates.
Where
lua/config/plugins.lua:15 — plugin spec for nvim-treesitter
lua/config/treesitter.lua — all parser install/update logic calls into the plugin
lua/config/plugin_config.lua:229 — nvim-treesitter-textobjects depends on it
nvim-pack-lock.json — pinned SHA 4916d659
Why it matters
The entire lua/config/treesitter.lua file calls:
require("nvim-treesitter") for ts.install() and config helpers
As Neovim 0.12 evolves, these call sites will silently fail or return stale data. The TSSync command and the build_latest_parsers() function are currently the only way to update parsers; if the plugin API shifts under them, parser updates break.
Migration options
Option A — go fully native (Neovim 0.12+)
Neovim 0.12 ships treesitter parsers under :h treesitter-parsers. Parser installation is handled by vim.treesitter.language.add() and the built-in :TSInstall (no plugin needed). treesitter.lua can be rewritten to call vim.treesitter directly:
-- install a parser natively (0.12+)vim.treesitter.language.install("python")
Query files (highlights, indents, folds) are bundled with Neovim 0.12 for supported languages. The custom build_latest_parsers() logic can be retired.
nvim-treesitter-textobjects (main branch, tracked in #101) has already decoupled from nvim-treesitter internals — it should work with native treesitter once queries are present.
Option B — keep the plugin, pin to archived HEAD
Pin nvim-treesitter to its archived HEAD (4916d659) and accept no further updates. This preserves the current setup with no code changes, at the cost of accumulating drift over time.
Recommended action
Confirm the installed Neovim version: :version — if 0.12+, Option A is the forward path.
Audit which nvim-treesitter APIs are called in treesitter.lua and map them to native equivalents.
What
nvim-treesitterwas archived on April 3, 2026 following the Neovim 0.12 release, which ships treesitter support natively. The plugin will receive no further maintenance, bug fixes, or API-compatibility updates.Where
lua/config/plugins.lua:15— plugin spec fornvim-treesitterlua/config/treesitter.lua— all parser install/update logic calls into the pluginlua/config/plugin_config.lua:229—nvim-treesitter-textobjectsdepends on itnvim-pack-lock.json— pinned SHA4916d659Why it matters
The entire
lua/config/treesitter.luafile calls:require("nvim-treesitter")forts.install()and config helpersrequire("nvim-treesitter.config").get_install_dir()insideTSSyncAs Neovim 0.12 evolves, these call sites will silently fail or return stale data. The
TSSynccommand and thebuild_latest_parsers()function are currently the only way to update parsers; if the plugin API shifts under them, parser updates break.Migration options
Option A — go fully native (Neovim 0.12+)
Neovim 0.12 ships treesitter parsers under
:h treesitter-parsers. Parser installation is handled byvim.treesitter.language.add()and the built-in:TSInstall(no plugin needed).treesitter.luacan be rewritten to callvim.treesitterdirectly:Query files (highlights, indents, folds) are bundled with Neovim 0.12 for supported languages. The custom
build_latest_parsers()logic can be retired.nvim-treesitter-textobjects(mainbranch, tracked in #101) has already decoupled fromnvim-treesitterinternals — it should work with native treesitter once queries are present.Option B — keep the plugin, pin to archived HEAD
Pin
nvim-treesitterto its archived HEAD (4916d659) and accept no further updates. This preserves the current setup with no code changes, at the cost of accumulating drift over time.Recommended action
:version— if 0.12+, Option A is the forward path.nvim-treesitterAPIs are called intreesitter.luaand map them to native equivalents.nvim-treesitter-textobjectsmainbranch compatibility (see [deps] nvim-treesitter-textobjects pinned to frozenmasterbranch — migrate tomain#101) before removing the plugin.TSSync/TSBufTogglecommands functional during transition by updating the implementation to callvim.treesitter.*directly.References
:help treesittermasterbranch — migrate tomain#101 (nvim-treesitter-textobjects frozen master branch)