Skip to content

Commit

Permalink
feat(console): restore winid on hide()
Browse files Browse the repository at this point in the history
  • Loading branch information
kawre committed Mar 6, 2024
1 parent 9cb20d5 commit fcfd666
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions lua/leetcode-ui/layout/console.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ local log = require("leetcode.logger")
---@field testcase lc.ui.Console.TestcasePopup
---@field result lc.ui.Console.ResultPopup
---@field popups lc.ui.Console.Popup[]
---@field prev_winid integer
local ConsoleLayout = Layout:extend("LeetConsoleLayout")

function ConsoleLayout:unmount() --
Expand All @@ -24,15 +25,19 @@ function ConsoleLayout:unmount() --
self.popups = { self.testcase, self.result }
end

function ConsoleLayout:show()
self.prev_winid = vim.api.nvim_get_current_win()

ConsoleLayout.super.show(self)
end

function ConsoleLayout:hide()
ConsoleLayout.super.hide(self)

pcall(function()
local winid = vim.api.nvim_get_current_win()
if winid == self.question.description.winid then
vim.api.nvim_set_current_win(self.question.winid)
end
end)
if self.prev_winid and vim.api.nvim_win_is_valid(self.prev_winid) then
vim.api.nvim_set_current_win(self.prev_winid)
self.prev_winid = nil
end
end

function ConsoleLayout:mount()
Expand Down Expand Up @@ -90,6 +95,7 @@ function ConsoleLayout:init(parent)
self.testcase = Testcase(self)
self.result = Result(self)
self.popups = { self.testcase, self.result }
self.prev_winid = nil

ConsoleLayout.super.init(
self,
Expand Down

0 comments on commit fcfd666

Please sign in to comment.