irongit

A Neovim plugin enabling you to solve LeetCode problems.

refactor: change exit shortcut to `qa`

kawreauthored
parent 4cfdafccommit 2d8a306b117d1803818c49e701677a7186efea12Browse files

2 files changed, +7 -13

+6-12lua/leetcode-ui/layout/console.lua
@@ -14,7 +14,6 @@ local log = require("leetcode.logger")
1414 ---@field testcase lc.ui.Console.TestcasePopup
1515 ---@field result lc.ui.Console.ResultPopup
1616 ---@field popups lc.ui.Console.Popup[]
17----@field prev_winid integer
1817 local ConsoleLayout = Layout:extend("LeetConsoleLayout")
1918
2019 function ConsoleLayout:unmount() --
@@ -25,19 +24,15 @@ function ConsoleLayout:unmount() --
2524 self.popups = { self.testcase, self.result }
2625 end
2726
28-function ConsoleLayout:show()
29- self.prev_winid = vim.api.nvim_get_current_win()
30-
31- ConsoleLayout.super.show(self)
32-end
33-
3427 function ConsoleLayout:hide()
3528 ConsoleLayout.super.hide(self)
3629
37- if self.prev_winid and vim.api.nvim_win_is_valid(self.prev_winid) then
38- vim.api.nvim_set_current_win(self.prev_winid)
39- self.prev_winid = nil
40- end
30+ pcall(function()
31+ local winid = vim.api.nvim_get_current_win()
32+ if winid == self.question.description.winid then
33+ vim.api.nvim_set_current_win(self.question.winid)
34+ end
35+ end)
4136 end
4237
4338 function ConsoleLayout:mount()
@@ -97,7 +92,6 @@ function ConsoleLayout:init(parent)
9792 self.testcase = Testcase(self)
9893 self.result = Result(self)
9994 self.popups = { self.testcase, self.result }
100- self.prev_winid = nil
10195
10296 ConsoleLayout.super.init(
10397 self,
+1-1lua/leetcode-ui/lines/button/menu/exit.lua
@@ -8,7 +8,7 @@ local MenuExitButton = MenuButton:extend("LeetMenuExitButton")
88 function MenuExitButton:init()
99 MenuExitButton.super.init(self, "Exit", {
1010 icon = "󰩈",
11- sc = "q",
11+ sc = "qa",
1212 on_press = leetcode.stop,
1313 })
1414 end