Skip to content

Commit d758a00

Browse files
committed
fix: :DiffviewClose when the view is the last tab page (fixes #501)
1 parent 72c6983 commit d758a00

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

lua/diffview/scene/view.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ function View:close()
7676
if self.tabpage and api.nvim_tabpage_is_valid(self.tabpage) then
7777
DiffviewGlobal.emitter:emit("view_leave", self)
7878

79+
if #api.nvim_list_tabpages() == 1 then
80+
vim.cmd("tabnew")
81+
end
82+
7983
local pagenr = api.nvim_tabpage_get_number(self.tabpage)
8084
vim.cmd("tabclose " .. pagenr)
8185
end

lua/diffview/scene/views/standard/standard_view.lua

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,8 @@ end
4444

4545
---@override
4646
function StandardView:close()
47-
self.closing:send()
4847
self.panel:destroy()
49-
50-
if self.tabpage and api.nvim_tabpage_is_valid(self.tabpage) then
51-
DiffviewGlobal.emitter:emit("view_leave", self)
52-
53-
local pagenr = api.nvim_tabpage_get_number(self.tabpage)
54-
vim.cmd("tabclose " .. pagenr)
55-
end
56-
57-
DiffviewGlobal.emitter:emit("view_closed", self)
48+
View.close(self)
5849
end
5950

6051
---@override

0 commit comments

Comments
 (0)