Update detectindent cache only after saving/reloading

Before, if the indent wasn't fully detected, `detectindent` would try to 
update every second. On files with very long lines this would cause 
stutters.

Now the indent is updated only once after saving/reloading.
This commit is contained in:
Guldoman
2021-09-07 07:53:03 +02:00
committed by Francesco
parent df667ad28e
commit e99c76f8b8
+6 -3
View File
@@ -114,8 +114,11 @@ function Doc:new(...)
if not cache[self].confirmed then if not cache[self].confirmed then
core.add_thread(function () core.add_thread(function ()
while not cache[self].confirmed do while not cache[self].confirmed do
update_cache(self) if cache[self].need_update then
coroutine.yield(1) update_cache(self)
cache[self].need_update = false
end
coroutine.yield()
end end
end, self) end, self)
end end
@@ -124,7 +127,7 @@ end
local clean = Doc.clean local clean = Doc.clean
function Doc:clean(...) function Doc:clean(...)
clean(self, ...) clean(self, ...)
update_cache(self) cache[self].need_update = true
end end