Skip to content

Commit 1ca0656

Browse files
committed
fix: prevent nonsense error logs when vim exits by cancelling event handlers and logging
1 parent 6f12619 commit 1ca0656

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

lua/neo-tree/events/init.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ local M = {
3232
VIM_WIN_ENTER = "vim_win_enter",
3333
VIM_WIN_CLOSED = "vim_win_closed",
3434
VIM_COLORSCHEME = "vim_colorscheme",
35+
VIM_LEAVE = "vim_leave",
3536
}
3637

3738
M.define_autocmd_event = function(event_name, autocmds, debounce_frequency, seed_fn, nested)

lua/neo-tree/log.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@ log.new = function(config, standalone)
127127
if level < levels[config.level] then
128128
return
129129
end
130+
-- Ignnore this if vim is exiting
131+
if vim.v.dying > 0 or vim.v.exiting ~= nil then
132+
return
133+
end
130134
local nameupper = level_config.name:upper()
131135

132136
local msg = message_maker(...)

lua/neo-tree/setup/init.lua

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,19 @@ local define_events = function()
7474
events.define_autocmd_event(events.VIM_WIN_ENTER, { "WinEnter" }, 0)
7575
events.define_autocmd_event(events.VIM_DIR_CHANGED, { "DirChanged" }, 200, nil, true)
7676
events.define_autocmd_event(events.VIM_TAB_CLOSED, { "TabClosed" })
77+
events.define_autocmd_event(events.VIM_LEAVE, { "VimLeavePre" })
7778
events.define_autocmd_event(events.VIM_WIN_CLOSED, { "WinClosed" })
7879
events.define_autocmd_event(events.VIM_COLORSCHEME, { "ColorScheme" }, 0)
7980
events.define_autocmd_event(events.GIT_EVENT, { "User FugitiveChanged" }, 100 )
8081
events.define_event(events.GIT_STATUS_CHANGED, { debounce_frequency = 0 })
8182
events_setup = true
83+
84+
events.subscribe({
85+
event = events.VIM_LEAVE,
86+
handler = function()
87+
events.clear_all_events()
88+
end
89+
})
8290
end
8391

8492
local last_buffer_enter_filetype = nil

0 commit comments

Comments
 (0)