neovim-dotfiles/lua/plugins/mason.lua
2025-04-30 20:08:59 +02:00

63 lines
1.6 KiB
Lua

return {
{
"williamboman/mason.nvim",
dependencies = { "williamboman/mason-lspconfig.nvim" },
keys = {
{ "<leader>m", ":Mason <CR>", desc = "open mason" },
},
config = true,
},
{
"williamboman/mason-lspconfig.nvim",
opts = {
-- Replace the language servers listed here
-- with the ones you want to install
ensure_installed = { "lua_ls", "clangd", "hyprls", "lua_ls" },
handlers = {
function(server_name)
require("lspconfig")[server_name].setup({
})
end,
["lua_ls"] = function()
require 'lspconfig'.lua_ls.setup {
on_init = function(client)
local path = client.workspace_folders[1].name
if vim.loop.fs_stat(path .. '/.luarc.json') or vim.loop.fs_stat(path .. '/.luarc.jsonc') then
return
end
client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
runtime = {
-- Tell the language server which version of Lua you're using
-- (most likely LuaJIT in the case of Neovim)
version = 'LuaJIT'
},
-- Make the server aware of Neovim runtime files
workspace = {
checkThirdParty = false,
library = {
vim.env.VIMRUNTIME
-- Depending on the usage, you might want to add additional paths here.
-- "${3rd}/luv/library"
-- "${3rd}/busted/library",
}
-- or pull in all of 'runtimepath'. NOTE: this is a lot slower
-- library = vim.api.nvim_get_runtime_file("", true)
}
})
end,
settings = {
Lua = {}
}
}
end
},
},
},
{
"frostplexx/mason-bridge.nvim",
},
}