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:
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