@@ -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 )
9089end
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
110104end
111105
112106--- @param before boolean
@@ -191,12 +185,15 @@ end
191185function 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
201198end
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
0 commit comments