From e99c76f8b82c56dda0b02840f84755109f6631e1 Mon Sep 17 00:00:00 2001 From: Guldoman Date: Mon, 6 Sep 2021 18:28:25 +0200 Subject: [PATCH] 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. --- data/plugins/detectindent.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/data/plugins/detectindent.lua b/data/plugins/detectindent.lua index 45ebaee6..e2bcaed2 100644 --- a/data/plugins/detectindent.lua +++ b/data/plugins/detectindent.lua @@ -114,8 +114,11 @@ function Doc:new(...) if not cache[self].confirmed then core.add_thread(function () while not cache[self].confirmed do - update_cache(self) - coroutine.yield(1) + if cache[self].need_update then + update_cache(self) + cache[self].need_update = false + end + coroutine.yield() end end, self) end @@ -124,7 +127,7 @@ end local clean = Doc.clean function Doc:clean(...) clean(self, ...) - update_cache(self) + cache[self].need_update = true end