From 8c64f23dd0bb587e56a2e38427f5165a9b743f74 Mon Sep 17 00:00:00 2001 From: Alexander Courtis Date: Wed, 29 Apr 2026 09:17:27 +1000 Subject: [PATCH 1/3] fix(#3324): deprecated BufModifiedSet event replaced by OptionSet event for Nvim 0.13+ --- lua/nvim-tree/explorer/init.lua | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/lua/nvim-tree/explorer/init.lua b/lua/nvim-tree/explorer/init.lua index dcf031e0f5e..7d1c1023e20 100644 --- a/lua/nvim-tree/explorer/init.lua +++ b/lua/nvim-tree/explorer/init.lua @@ -181,15 +181,30 @@ function Explorer:create_autocmds() end if self.opts.modified.enable then - vim.api.nvim_create_autocmd({ "BufModifiedSet", "BufWritePost" }, { - group = self.augroup_id, - callback = function() - utils.debounce("Buf:modified_" .. self.uid_explorer, self.opts.view.debounce_delay, function() - buffers.reload_modified() - self.renderer:draw() - end) - end, - }) + local function on_modified_or_buf_write() + utils.debounce("Buf:modified_" .. self.uid_explorer, self.opts.view.debounce_delay, function() + buffers.reload_modified() + self.renderer:draw() + end) + end + + if vim.fn.has("nvim-0.13") == 1 then + vim.api.nvim_create_autocmd({ "OptionSet", }, { + group = self.augroup_id, + pattern = "modified", + callback = on_modified_or_buf_write, + }) + vim.api.nvim_create_autocmd({ "BufWritePost" }, { + group = self.augroup_id, + callback = on_modified_or_buf_write, + }) + else + -- BufModifiedSet event was removed in 0.13: it was a specific case of OptionSet + vim.api.nvim_create_autocmd({ "BufModifiedSet", "BufWritePost" }, { + group = self.augroup_id, + callback = on_modified_or_buf_write, + }) + end end end From dbb93d4e4541336b44a39118ec522e9a3ae1acf4 Mon Sep 17 00:00:00 2001 From: Alexander Courtis Date: Wed, 29 Apr 2026 09:23:34 +1000 Subject: [PATCH 2/3] fix(#3324): deprecated BufModifiedSet event replaced by OptionSet event for Nvim 0.13+ --- lua/nvim-tree/explorer/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/nvim-tree/explorer/init.lua b/lua/nvim-tree/explorer/init.lua index 7d1c1023e20..e484bfd15fb 100644 --- a/lua/nvim-tree/explorer/init.lua +++ b/lua/nvim-tree/explorer/init.lua @@ -200,7 +200,7 @@ function Explorer:create_autocmds() }) else -- BufModifiedSet event was removed in 0.13: it was a specific case of OptionSet - vim.api.nvim_create_autocmd({ "BufModifiedSet", "BufWritePost" }, { + vim.api.nvim_create_autocmd({ "BufModifiedSet", "BufWritePost" }, { ---@diagnostic disable-line: assign-type-mismatch group = self.augroup_id, callback = on_modified_or_buf_write, }) From b5468d69f0f45eea7340c731d1b4dfba88b7e608 Mon Sep 17 00:00:00 2001 From: Alexander Courtis Date: Fri, 1 May 2026 08:30:12 +1000 Subject: [PATCH 3/3] ci: remove help-check for Nvim nightly --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 67b65c315b1..383a05b5233 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -87,6 +87,7 @@ jobs: - run: make format-check - name: build Nvim from source + if: ${{ matrix.nvim_version == 'stable' }} run: | mkdir -p "${DIR_NVIM_SRC}" curl -L "https://github.com/neovim/neovim/archive/refs/tags/${{ matrix.nvim_version }}.tar.gz" | tar zx --directory "${DIR_NVIM_SRC}/.." @@ -94,3 +95,4 @@ jobs: make doc - run: make help-check + if: ${{ matrix.nvim_version == 'stable' }}