From ecf58046b568ae2f8d89138972db809d91d72212 Mon Sep 17 00:00:00 2001 From: alemi Date: Tue, 17 Sep 2024 01:45:54 +0200 Subject: [PATCH] fix: run poller callbacks on main thread --- lua/codemp/utils.lua | 2 +- lua/codemp/workspace.lua | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lua/codemp/utils.lua b/lua/codemp/utils.lua index 54cc67f..b2baa63 100644 --- a/lua/codemp/utils.lua +++ b/lua/codemp/utils.lua @@ -22,7 +22,7 @@ local function async_poller(generator, callback) timer:start(500, 500, function() if promise == nil then promise = generator() end if promise.ready then - callback(promise:await()) + vim.schedule(function() callback(promise:await()) end) promise = nil end end) diff --git a/lua/codemp/workspace.lua b/lua/codemp/workspace.lua index 9272330..e16b5b7 100644 --- a/lua/codemp/workspace.lua +++ b/lua/codemp/workspace.lua @@ -117,12 +117,10 @@ local function join(workspace) function(event) if event.type == "leave" then if buffers.users[event.value] ~= nil then - vim.schedule(function () - local buf_name = buffers.users[event.value] - vim.api.nvim_buf_clear_namespace(buffers.map_rev[buf_name], user_hl[event.value].ns, 0, -1) - buffers.users[event.value] = nil - user_hl[event.value] = nil - end) + local buf_name = buffers.users[event.value] + vim.api.nvim_buf_clear_namespace(buffers.map_rev[buf_name], user_hl[event.value].ns, 0, -1) + buffers.users[event.value] = nil + user_hl[event.value] = nil end elseif event.type == "join" then buffers.users[event.value] = "" @@ -132,7 +130,7 @@ local function join(workspace) pos = { 0, 0 }, } end - vim.schedule(function() require('codemp.window').update() end) + require('codemp.window').update() end )