blob: 0ad4189753caa1056ffffd0fe69ebdf4e650eb16 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
local notify = require "nvim-lsp-installer.notify"
local M = {}
local registered_callbacks = {}
M.dispatch_server_ready = function(server)
for _, callback in pairs(registered_callbacks) do
local ok, err = pcall(callback, server)
if not ok then
notify(tostring(err), vim.log.levels.ERROR)
end
end
end
local idx = 0
function M.register_server_ready_callback(callback)
local key = idx + 1
registered_callbacks[("%d"):format(key)] = callback
return function()
table.remove(registered_callbacks, key)
end
end
return M
|