fix: lsp not attaching
This commit is contained in:
parent
710752e604
commit
11fecdb9d0
1 changed files with 20 additions and 36 deletions
|
@ -1,7 +1,7 @@
|
||||||
local user_config = require('cosmic.core.user')
|
|
||||||
return {
|
return {
|
||||||
'williamboman/mason-lspconfig.nvim',
|
'williamboman/mason-lspconfig.nvim',
|
||||||
config = function()
|
config = function()
|
||||||
|
local user_config = require('cosmic.core.user')
|
||||||
require('mason').setup({
|
require('mason').setup({
|
||||||
ui = {
|
ui = {
|
||||||
border = user_config.border,
|
border = user_config.border,
|
||||||
|
@ -16,59 +16,43 @@ return {
|
||||||
local default_config = require('cosmic.lsp.providers.defaults')
|
local default_config = require('cosmic.lsp.providers.defaults')
|
||||||
local lspconfig = require('lspconfig')
|
local lspconfig = require('lspconfig')
|
||||||
|
|
||||||
-- initial default servers
|
local start_server = function(server)
|
||||||
-- by default tsserver/ts_utils and null_ls are enabled
|
-- null_ls doesn't need/can't to be started via lspconfig
|
||||||
local requested_servers = {}
|
if server == 'null_ls' then
|
||||||
|
return
|
||||||
-- get disabled servers from config
|
|
||||||
local disabled_servers = {}
|
|
||||||
for config_server, config_opt in pairs(user_config.lsp.servers) do
|
|
||||||
-- null ls doesn't need to be setup by lspconfig
|
|
||||||
if not config_server == 'null_ls' then
|
|
||||||
print(config_server)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[ print(config_server) ]]
|
|
||||||
if config_opt == false or config_server == 'null_ls' then
|
|
||||||
table.insert(disabled_servers, config_server)
|
|
||||||
elseif not vim.tbl_contains(requested_servers, config_server) then
|
|
||||||
-- add additonally defined servers to be installed
|
|
||||||
table.insert(requested_servers, config_server)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for _, requested_server in pairs(requested_servers) do
|
|
||||||
local opts = default_config
|
local opts = default_config
|
||||||
|
|
||||||
-- disable server if config disabled server list says so
|
|
||||||
opts.autostart = true
|
|
||||||
if vim.tbl_contains(disabled_servers, requested_server) then
|
|
||||||
opts.autostart = false
|
|
||||||
end
|
|
||||||
|
|
||||||
-- set up default cosmic options
|
-- set up default cosmic options
|
||||||
if requested_server == 'tsserver' then
|
if server == 'tsserver' then
|
||||||
opts = u.merge(opts, require('cosmic.lsp.providers.tsserver'))
|
opts = u.merge(opts, require('cosmic.lsp.providers.tsserver'))
|
||||||
elseif requested_server == 'jsonls' then
|
elseif server == 'jsonls' then
|
||||||
opts = u.merge(opts, require('cosmic.lsp.providers.jsonls'))
|
opts = u.merge(opts, require('cosmic.lsp.providers.jsonls'))
|
||||||
elseif requested_server == 'pyright' then
|
elseif server == 'pyright' then
|
||||||
opts = u.merge(opts, require('cosmic.lsp.providers.pyright'))
|
opts = u.merge(opts, require('cosmic.lsp.providers.pyright'))
|
||||||
elseif requested_server == 'sumneko_lua' then
|
elseif server == 'sumneko_lua' then
|
||||||
opts = u.merge(opts, require('cosmic.lsp.providers.sumneko_lua'))
|
opts = u.merge(opts, require('cosmic.lsp.providers.sumneko_lua'))
|
||||||
end
|
end
|
||||||
|
|
||||||
-- override options if user definds them
|
-- override options if user definds them
|
||||||
if type(user_config.lsp.servers[requested_server]) == 'table' then
|
if type(user_config.lsp.servers[server]) == 'table' then
|
||||||
if user_config.lsp.servers[requested_server].opts ~= nil then
|
if user_config.lsp.servers[server].opts ~= nil then
|
||||||
opts = u.merge(opts, user_config.lsp.servers[requested_server].opts)
|
opts = u.merge(opts, user_config.lsp.servers[server].opts)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
lspconfig[requested_server].setup(opts)
|
lspconfig[server].setup(opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
for config_server, config_opt in pairs(user_config.lsp.servers) do
|
||||||
|
if not config_opt == false then
|
||||||
|
start_server(config_server)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
dependencies = {
|
dependencies = {
|
||||||
'williamboman/mason.nvim',
|
'williamboman/mason.nvim',
|
||||||
},
|
},
|
||||||
event = 'VeryLazy',
|
event = 'BufEnter',
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue