aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_defaults.lua
diff options
context:
space:
mode:
authorEvgeni Chasnovski <evgeni.chasnovski@gmail.com>2024-02-22 21:54:21 +0200
committerGitHub <noreply@github.com>2024-02-22 13:54:21 -0600
commit85cb0b0ddc59cd1b3a911e5b4a358e5404c1d0d8 (patch)
treed0cdb4c7a64ae020d882ea7c9246f575ab288b3c /runtime/lua/vim/_defaults.lua
parent0760d986800ada048459196914dfa51213daa9a6 (diff)
downloadrneovim-85cb0b0ddc59cd1b3a911e5b4a358e5404c1d0d8.tar.gz
rneovim-85cb0b0ddc59cd1b3a911e5b4a358e5404c1d0d8.tar.bz2
rneovim-85cb0b0ddc59cd1b3a911e5b4a358e5404c1d0d8.zip
fix(defaults): make terminal autoclose not block other events (#27581)
Problem: When terminal is autocloses, it blocks other events, like `BufEnter`. Solution: Use `nested = true`.
Diffstat (limited to 'runtime/lua/vim/_defaults.lua')
-rw-r--r--runtime/lua/vim/_defaults.lua14
1 files changed, 8 insertions, 6 deletions
diff --git a/runtime/lua/vim/_defaults.lua b/runtime/lua/vim/_defaults.lua
index f453264c76..6afb1d6b1c 100644
--- a/runtime/lua/vim/_defaults.lua
+++ b/runtime/lua/vim/_defaults.lua
@@ -143,14 +143,16 @@ do
vim.api.nvim_create_autocmd({ 'TermClose' }, {
group = nvim_terminal_augroup,
+ nested = true,
desc = 'Automatically close terminal buffers when started with no arguments and exiting without an error',
callback = function(args)
- if vim.v.event.status == 0 then
- local info = vim.api.nvim_get_chan_info(vim.bo[args.buf].channel)
- local argv = info.argv or {}
- if #argv == 1 and argv[1] == vim.o.shell then
- vim.cmd({ cmd = 'bdelete', args = { args.buf }, bang = true })
- end
+ if vim.v.event.status ~= 0 then
+ return
+ end
+ local info = vim.api.nvim_get_chan_info(vim.bo[args.buf].channel)
+ local argv = info.argv or {}
+ if #argv == 1 and argv[1] == vim.o.shell then
+ vim.api.nvim_buf_delete(args.buf, { force = true })
end
end,
})