irongit

A Neovim plugin enabling you to solve LeetCode problems.

fix(hooks): change `question_enter` order

kawreauthored
parent e73c1fecommit b44c5e57c7b4211e448c4efd85a4c1aab0814a56Browse files

1 file changed, +10 -14

+10-14lua/leetcode-ui/question.lua
@@ -82,16 +82,15 @@ function Question:create_buffer()
8282 local path, existed = self:path()
8383
8484 vim.cmd("$tabe " .. path)
85-
8685 self.bufnr = vim.api.nvim_get_current_buf()
8786 self.winid = vim.api.nvim_get_current_win()
8887
89- self:open_buffer(existed, false)
88+ self:open_buffer(existed)
9089 end
9190
9291 ---@param existed boolean
93----@param loaded boolean
94-function Question:open_buffer(existed, loaded)
92+function Question:open_buffer(existed)
93+ vim.api.nvim_win_set_buf(self.winid, self.bufnr)
9594 vim.api.nvim_set_option_value("buflisted", true, { buf = self.bufnr })
9695
9796 local i = self:fold_range()
@@ -102,11 +101,6 @@ function Question:open_buffer(existed, loaded)
102101 if existed then --
103102 self:reset_lines()
104103 end
105-
106- if not loaded then
107- utils.exec_hooks("question_enter", self)
108- self:autocmds()
109- end
110104 end
111105
112106 ---@param before boolean
@@ -191,12 +185,15 @@ end
191185 function Question:handle_mount()
192186 self:create_buffer()
193187
194- table.insert(_Lc_state.questions, self)
195-
196188 self.description = Description(self):mount()
197189 self.console = Console(self)
198190 self.info = Info(self)
199191
192+ table.insert(_Lc_state.questions, self)
193+
194+ self:autocmds()
195+ utils.exec_hooks("question_enter", self)
196+
200197 return self
201198 end
202199
@@ -281,11 +278,10 @@ Question.change_lang = vim.schedule_wrap(function(self, lang)
281278 local loaded = vim.api.nvim_buf_is_loaded(self.bufnr)
282279 vim.fn.bufload(self.bufnr)
283280
284- vim.api.nvim_win_set_buf(self.winid, self.bufnr)
285-
286281 vim.api.nvim_set_option_value("buflisted", false, { buf = old_bufnr })
282+ self:open_buffer(existed)
287283
288- self:open_buffer(existed, loaded)
284+ if not loaded then utils.exec_hooks("question_enter", self) end
289285 end)
290286
291287 if not ok then