diff options
author | Evgeni Chasnovski <evgeni.chasnovski@gmail.com> | 2024-02-22 21:54:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-22 13:54:21 -0600 |
commit | 85cb0b0ddc59cd1b3a911e5b4a358e5404c1d0d8 (patch) | |
tree | d0cdb4c7a64ae020d882ea7c9246f575ab288b3c /runtime/lua/vim/_defaults.lua | |
parent | 0760d986800ada048459196914dfa51213daa9a6 (diff) | |
download | rneovim-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.lua | 14 |
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, }) |