mirror of
https://github.com/hexedtech/codemp-nvim.git
synced 2024-11-22 15:34:53 +01:00
feat: apply delay across polls
This commit is contained in:
parent
7a9188f607
commit
9ac73e0f8d
1 changed files with 3 additions and 3 deletions
|
@ -20,13 +20,13 @@ local function register_controller_handler(target, controller, handler, delay)
|
|||
-- thread and requesting a new reference to the same controller from che global instance
|
||||
-- NOTE variables prefixed with underscore live in another Lua runtime
|
||||
vim.loop.new_thread({}, function(_async, _target, _delay)
|
||||
if _delay ~= nil then vim.loop.sleep(_delay) end
|
||||
local _codemp = require("libcodemp_nvim")
|
||||
local _controller = _target ~= nil and _codemp.get_buffer(_target) or _codemp.get_cursor()
|
||||
while true do
|
||||
local success, _ = pcall(_controller.poll, _controller)
|
||||
if success then
|
||||
_async:send()
|
||||
if _delay ~= nil then vim.loop.sleep(_delay) end
|
||||
else
|
||||
local my_name = "cursor"
|
||||
if _target ~= nil then
|
||||
|
@ -191,7 +191,7 @@ vim.api.nvim_create_user_command(
|
|||
event.position.finish
|
||||
)
|
||||
end
|
||||
end)
|
||||
end, 20)
|
||||
|
||||
print(" ++ joined workspace " .. args.args)
|
||||
end,
|
||||
|
@ -255,7 +255,7 @@ vim.api.nvim_create_user_command(
|
|||
register_controller_handler(args.args, controller, function(event)
|
||||
codemp_changed_tick[buffer] = vim.api.nvim_buf_get_changedtick(buffer)
|
||||
buffer_replace_content(buffer, event.first, event.last, event.content)
|
||||
end, 500) -- delay by 200 ms as ugly fix
|
||||
end, 20) -- wait 20ms before polling again because it overwhelms libuv?
|
||||
|
||||
print(" ++ attached to buffer " .. args.args)
|
||||
end,
|
||||
|
|
Loading…
Reference in a new issue