File tree Expand file tree Collapse file tree 1 file changed +11
-2
lines changed
Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -184,12 +184,21 @@ local function start_terminal(session_name, cmd)
184184 local augroup_name = " pterm_" .. session_name :gsub (" /" , " _" )
185185 local augroup = vim .api .nvim_create_augroup (augroup_name , { clear = true })
186186
187- -- Clean up on buffer delete
187+ -- Clean up on buffer delete.
188+ -- BufDelete fires both when a buffer is truly deleted (:bdelete/:bwipeout)
189+ -- and when a plugin merely sets buflisted=false (e.g. scope-nvim scopes
190+ -- buffers per tab page). Defer the check so we can distinguish the two:
191+ -- a merely-unlisted buffer remains valid and loaded.
188192 vim .api .nvim_create_autocmd (" BufDelete" , {
189193 group = augroup ,
190194 buffer = buf ,
191195 callback = function ()
192- M .detach (session_name )
196+ vim .schedule (function ()
197+ if vim .api .nvim_buf_is_valid (buf ) and vim .api .nvim_buf_is_loaded (buf ) then
198+ return
199+ end
200+ M .detach (session_name )
201+ end )
193202 end ,
194203 })
195204
You can’t perform that action at this time.
0 commit comments