aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/dispatcher.lua
blob: c8ec34a7d780993352fe572b672105af33305724 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
local M = {}

local registered_callbacks = {}

function M.dispatch_server_ready(server)
    for _, callback in pairs(registered_callbacks) do
        callback(server)
    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