From 959b8a20114c63097261cd1b48f2dacfbe4ccd5f Mon Sep 17 00:00:00 2001 From: Ben Lubas Date: Fri, 5 Jul 2024 09:54:53 -0400 Subject: [PATCH] fix(return): return causing early exit when paired with auto_toc.exit_nvim --- .../modules/core/neorgcmd/commands/return/module.lua | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lua/neorg/modules/core/neorgcmd/commands/return/module.lua b/lua/neorg/modules/core/neorgcmd/commands/return/module.lua index 26c401fa5..12e93a38c 100644 --- a/lua/neorg/modules/core/neorgcmd/commands/return/module.lua +++ b/lua/neorg/modules/core/neorgcmd/commands/return/module.lua @@ -31,14 +31,22 @@ module.on_event = function(event) -- Get all the buffers local buffers = vim.api.nvim_list_bufs() + local to_delete = {} for _, buffer in ipairs(buffers) do if vim.fn.buflisted(buffer) == 1 then -- If the listed buffer we're working with has a .norg extension then remove it (not forcibly) - if vim.endswith(vim.api.nvim_buf_get_name(buffer), ".norg") then - vim.api.nvim_buf_delete(buffer, {}) + if not vim.endswith(vim.api.nvim_buf_get_name(buffer), ".norg") then + vim.api.nvim_win_set_buf(0, buffer) + break + else + table.insert(to_delete, buffer) end end end + + for _, buffer in ipairs(to_delete) do + vim.api.nvim_buf_delete(buffer, {}) + end end end