feat: clean up mason config

This commit is contained in:
Matthew Leong 2024-06-08 22:42:37 -07:00
parent a7d4162f2a
commit 475361c480
2 changed files with 9 additions and 16 deletions

View file

@ -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 = {

View file

@ -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