diff options
author | LostNeophyte <[email protected]> | 2022-11-05 10:42:26 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2022-11-05 10:42:26 +0100 |
commit | 9aa9bce3bcd6619b79e2c2814114c0b3fe8adc1e (patch) | |
tree | 9fe981332d3855528fb9c264abf1eff478ae7b47 /lua/lvim/core/bufferline.lua | |
parent | 08d3c056ffe989b97b11afee9ad1db108d3ccfb5 (diff) |
fix(bufferline): use buf kill on close (#3422)
Diffstat (limited to 'lua/lvim/core/bufferline.lua')
-rw-r--r-- | lua/lvim/core/bufferline.lua | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lua/lvim/core/bufferline.lua b/lua/lvim/core/bufferline.lua index b8143813..4d3f8adf 100644 --- a/lua/lvim/core/bufferline.lua +++ b/lua/lvim/core/bufferline.lua @@ -58,7 +58,9 @@ M.config = function() options = { mode = "buffers", -- set to "tabs" to only show tabpages instead numbers = "none", -- can be "none" | "ordinal" | "buffer_id" | "both" | function - close_command = "bdelete! %d", -- can be a string | function, see "Mouse actions" + close_command = function(bufnr) -- can be a string | function, see "Mouse actions" + M.buf_kill("bd", bufnr, false) + end, right_mouse_command = "vert sbuffer %d", -- can be a string | function, see "Mouse actions" left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" @@ -203,8 +205,6 @@ function M.buf_kill(kill_command, bufnr, force) return api.nvim_win_get_buf(win) == bufnr end, api.nvim_list_wins()) - if #windows == 0 then return end - if force then kill_command = kill_command .. "!" end @@ -217,7 +217,7 @@ function M.buf_kill(kill_command, bufnr, force) -- If there is only one buffer (which has to be the current one), vim will -- create a new buffer on :bd. -- For more than one buffer, pick the previous buffer (wrapping around if necessary) - if #buffers > 1 then + if #buffers > 1 and #windows > 0 then for i, v in ipairs(buffers) do if v == bufnr then local prev_buf_idx = i == 1 and (#buffers - 1) or (i - 1) |