forked from Archives/navigator.lua
Better lspinstall support
parent
3c0646074a
commit
0f2868c5e6
@ -1,30 +1,46 @@
|
||||
local log = require"navigator.util".log
|
||||
local loader = nil
|
||||
local packer_plugins = packer_plugins or nil -- suppress warnings
|
||||
return {
|
||||
init = function()
|
||||
local loader = nil
|
||||
local packer_plugins = packer_plugins or nil -- suppress warnings
|
||||
local log = require'navigator.util'.log
|
||||
-- packer only
|
||||
if packer_plugins ~= nil then -- packer install
|
||||
local lazy_plugins = {
|
||||
["nvim-lspconfig"] = "neovim/nvim-lspconfig",
|
||||
["guihua.lua"] = "ray-x/guihua.lua"
|
||||
}
|
||||
if _NgConfigValues.lspinstall == true then
|
||||
lazy_plugins["nvim-lspinstall"] = "kabouzeid/nvim-lspinstall"
|
||||
end
|
||||
|
||||
-- packer only
|
||||
if packer_plugins ~= nil then -- packer install
|
||||
local lazy_plugins = {
|
||||
["nvim-lspconfig"] = "neovim/nvim-lspconfig",
|
||||
["guihua.lua"] = "ray-x/guihua.lua"
|
||||
}
|
||||
if _NgConfigValues.lspinstall == true then
|
||||
lazy_plugins["nvim-lspinstall"] = "kabouzeid/nvim-lspinstall"
|
||||
end
|
||||
-- packer installed
|
||||
loader = require"packer".loader
|
||||
for plugin, url in pairs(lazy_plugins) do
|
||||
if not packer_plugins[url] or not packer_plugins[url].loaded then
|
||||
-- log("loading ", plugin)
|
||||
loader(plugin)
|
||||
end
|
||||
end
|
||||
|
||||
-- packer installed
|
||||
loader = require"packer".loader
|
||||
for plugin, url in pairs(lazy_plugins) do
|
||||
if not packer_plugins[url] or not packer_plugins[url].loaded then
|
||||
log("loading ", plugin)
|
||||
loader(plugin)
|
||||
end
|
||||
end
|
||||
|
||||
if _NgConfigValues.lspinstall == true then
|
||||
local has_lspinst, lspinst = pcall(require, "lspinstall")
|
||||
if has_lspinst then
|
||||
lspinst.setup()
|
||||
if _NgConfigValues.lspinstall == true then
|
||||
local has_lspinst, lspinst = pcall(require, "lspinstall")
|
||||
log('lspinstall', has_lspinst)
|
||||
if has_lspinst then
|
||||
lspinst.setup()
|
||||
local configs = require "lspconfig/configs"
|
||||
local servers = require'lspinstall'.installed_servers()
|
||||
for _, server in pairs(servers) do
|
||||
local cfg = require'navigator.lspclient.clients'.get_cfg(server)
|
||||
local lsp_inst_cfg = configs[server]
|
||||
if lsp_inst_cfg and lsp_inst_cfg.document_config.default_config then
|
||||
lsp_inst_cfg = lsp_inst_cfg.document_config.default_config
|
||||
vim.tbl_deep_extend('keep', lsp_inst_cfg, cfg)
|
||||
require'lspconfig'[server].setup(lsp_inst_cfg)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
}
|
||||
|
Loading…
Reference in New Issue