@@ -49,6 +49,7 @@ function Task.new(plugin, name, task, opts)
49
49
return other .name ~= name or other :running ()
50
50
end , plugin ._ .tasks or {})
51
51
table.insert (plugin ._ .tasks , self )
52
+ self :render ()
52
53
return self
53
54
end
54
55
@@ -119,12 +120,18 @@ function Task:log(msg, level)
119
120
msg = type (msg ) == " table" and table.concat (msg , " \n " ) or msg
120
121
--- @cast msg string
121
122
table.insert (self ._log , { msg = msg , level = level })
122
- vim . api . nvim_exec_autocmds ( " User " , { pattern = " LazyRender " , modeline = false } )
123
+ self : render ( )
123
124
if Config .headless () then
124
125
self :headless ()
125
126
end
126
127
end
127
128
129
+ function Task :render ()
130
+ vim .schedule (function ()
131
+ vim .api .nvim_exec_autocmds (" User" , { pattern = " LazyRender" , modeline = false })
132
+ end )
133
+ end
134
+
128
135
function Task :headless ()
129
136
if not Config .options .headless .log then
130
137
return
@@ -163,11 +170,13 @@ function Task:_done()
163
170
if self ._opts .on_done then
164
171
self ._opts .on_done (self )
165
172
end
166
- vim .api .nvim_exec_autocmds (" User" , { pattern = " LazyRender" , modeline = false })
167
- vim .api .nvim_exec_autocmds (" User" , {
168
- pattern = " LazyPlugin" .. self .name :sub (1 , 1 ):upper () .. self .name :sub (2 ),
169
- data = { plugin = self .plugin .name },
170
- })
173
+ vim .schedule (function ()
174
+ self :render ()
175
+ vim .api .nvim_exec_autocmds (" User" , {
176
+ pattern = " LazyPlugin" .. self .name :sub (1 , 1 ):upper () .. self .name :sub (2 ),
177
+ data = { plugin = self .plugin .name },
178
+ })
179
+ end )
171
180
end
172
181
173
182
function Task :time ()
0 commit comments