neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 19f00bf32cebfa66a17e0f5945d62d7da1859623
parent da0ae953490098c28bad4791e08e2cc4c2e385e2
Author: Daniel Petrovic <daniel-dev@hotmail.de>
Date:   Wed, 29 Jan 2025 09:02:49 +0100

fix(treesitter) Set modeline=false in TSHighlighter:destroy (#32234)

Problem:  `TSHighlighter:destroy()` causes double-processing of the modeline
and failure of `b:undo_ftplugin`.

Solution: Disable modeline in `TSHighlighter:destroy()` by setting `modeline=false`
if executing `syntaxset` autocommands for the `FileType` event.

Co-authored-by: Daniel Petrovic <daniel.petrovic@ebcont.com>

Diffstat:
Mruntime/lua/vim/treesitter/highlighter.lua | 5++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/runtime/lua/vim/treesitter/highlighter.lua b/runtime/lua/vim/treesitter/highlighter.lua @@ -160,7 +160,10 @@ function TSHighlighter:destroy() vim.bo[self.bufnr].spelloptions = self.orig_spelloptions vim.b[self.bufnr].ts_highlight = nil if vim.g.syntax_on == 1 then - api.nvim_exec_autocmds('FileType', { group = 'syntaxset', buffer = self.bufnr }) + api.nvim_exec_autocmds( + 'FileType', + { group = 'syntaxset', buffer = self.bufnr, modeline = false } + ) end end end