diff options
| author | William Boman <william@redwill.se> | 2021-08-18 20:35:02 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-18 20:35:02 +0200 |
| commit | bb6c9441af692daf9b967a15324f574f601d4b52 (patch) | |
| tree | 853987daa609778bf3a64658f09eb0626d54ae7c /lua/nvim-lsp-installer.lua | |
| parent | doc: add section for custom servers (diff) | |
| download | mason-bb6c9441af692daf9b967a15324f574f601d4b52.tar mason-bb6c9441af692daf9b967a15324f574f601d4b52.tar.gz mason-bb6c9441af692daf9b967a15324f574f601d4b52.tar.bz2 mason-bb6c9441af692daf9b967a15324f574f601d4b52.tar.lz mason-bb6c9441af692daf9b967a15324f574f601d4b52.tar.xz mason-bb6c9441af692daf9b967a15324f574f601d4b52.tar.zst mason-bb6c9441af692daf9b967a15324f574f601d4b52.zip | |
add new on_server_ready() API (#56)
Diffstat (limited to 'lua/nvim-lsp-installer.lua')
| -rw-r--r-- | lua/nvim-lsp-installer.lua | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer.lua b/lua/nvim-lsp-installer.lua index eae7363e..881db323 100644 --- a/lua/nvim-lsp-installer.lua +++ b/lua/nvim-lsp-installer.lua @@ -1,4 +1,5 @@ local notify = require "nvim-lsp-installer.notify" +local dispatcher = require "nvim-lsp-installer.dispatcher" local M = {} @@ -103,4 +104,20 @@ function M.register(server) _SERVERS[server.name] = server end +function M.on_server_ready(cb) + dispatcher.register_server_ready_callback(cb) + for _, server in pairs(M.get_installed_servers()) do + dispatcher.dispatch_server_ready(server) + end +end + +-- "Proxy" function for triggering attachment of LSP servers to all buffers (useful when just installed a new server +-- that wasn't installed at launch) +function M.lsp_attach_proxy() + -- As of writing, if the lspconfig server provides a filetypes setting, it uses FileType as trigger, otherwise it uses BufReadPost + local cur_bufnr = vim.fn.bufnr "%" + vim.cmd [[ bufdo do FileType | do BufReadPost ]] + vim.cmd(("buffer %s"):format(cur_bufnr)) -- restore buffer +end + return M |
