feat: clean up mason config
This commit is contained in:
parent
a7d4162f2a
commit
475361c480
2 changed files with 9 additions and 16 deletions
|
@ -1,9 +1,9 @@
|
||||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
|
||||||
local M = {}
|
local M = {}
|
||||||
local augroup_name = 'CosmicNvimLspFormat'
|
local augroup_name = 'CosmicNvimLspFormat'
|
||||||
local user_config = require('cosmic.core.user')
|
local user_config = require('cosmic.core.user')
|
||||||
local u = require('cosmic.utils')
|
local u = require('cosmic.utils')
|
||||||
local lsp_utils = require('cosmic.utils.lsp')
|
local lsp_utils = require('cosmic.utils.lsp')
|
||||||
|
local lsp_mappings = require('cosmic.lsp.mappings')
|
||||||
|
|
||||||
M.augroup = vim.api.nvim_create_augroup(augroup_name, { clear = true })
|
M.augroup = vim.api.nvim_create_augroup(augroup_name, { clear = true })
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ function M.on_attach(client, bufnr)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- set up default mappings
|
-- set up default mappings
|
||||||
require('cosmic.lsp.mappings').init(client, bufnr)
|
lsp_mappings.init(client, bufnr)
|
||||||
|
|
||||||
-- set up any additional mappings/overrides from user config
|
-- set up any additional mappings/overrides from user config
|
||||||
for _, callback in pairs(user_config.lsp.on_attach_mappings) do
|
for _, callback in pairs(user_config.lsp.on_attach_mappings) do
|
||||||
|
@ -50,7 +50,7 @@ function M.on_attach(client, bufnr)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
M.capabilities = u.merge(capabilities, {
|
M.capabilities = u.merge(require('cmp_nvim_lsp').default_capabilities(), {
|
||||||
-- See: https://github.com/neovim/neovim/issues/23291
|
-- See: https://github.com/neovim/neovim/issues/23291
|
||||||
workspace = {
|
workspace = {
|
||||||
didChangeWatchedFiles = {
|
didChangeWatchedFiles = {
|
||||||
|
|
|
@ -17,29 +17,22 @@ return {
|
||||||
local lspconfig = require('lspconfig')
|
local lspconfig = require('lspconfig')
|
||||||
|
|
||||||
local start_server = function(server)
|
local start_server = function(server)
|
||||||
local opts = default_config
|
local server_config = default_config
|
||||||
|
|
||||||
-- set up default cosmic options
|
-- set up default cosmic options
|
||||||
if server == 'tsserver' then
|
local ok, cosmic_server_config = pcall('cosmic.lsp.providers.' .. server)
|
||||||
opts = u.merge(opts, require('cosmic.lsp.providers.tsserver'))
|
if ok then
|
||||||
elseif server == 'jsonls' then
|
server_config = u.merge(server_config, cosmic_server_config)
|
||||||
opts = u.merge(opts, require('cosmic.lsp.providers.jsonls'))
|
|
||||||
elseif server == 'pyright' then
|
|
||||||
opts = u.merge(opts, require('cosmic.lsp.providers.pyright'))
|
|
||||||
elseif server == 'eslint' then
|
|
||||||
opts = u.merge(opts, require('cosmic.lsp.providers.eslint'))
|
|
||||||
elseif server == 'lua_ls' then
|
|
||||||
opts = u.merge(opts, require('cosmic.lsp.providers.lua_ls'))
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- override options if user defines them
|
-- override options if user defines them
|
||||||
if type(user_config.lsp.servers[server]) == 'table' then
|
if type(user_config.lsp.servers[server]) == 'table' then
|
||||||
if user_config.lsp.servers[server].opts ~= nil then
|
if user_config.lsp.servers[server].opts ~= nil then
|
||||||
opts = u.merge(opts, user_config.lsp.servers[server].opts)
|
server_config = u.merge(server_config, user_config.lsp.servers[server].opts)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
lspconfig[server].setup(opts)
|
lspconfig[server].setup(server_config)
|
||||||
end
|
end
|
||||||
|
|
||||||
for config_server, config_opt in pairs(user_config.lsp.servers) do
|
for config_server, config_opt in pairs(user_config.lsp.servers) do
|
||||||
|
|
Loading…
Add table
Reference in a new issue