config-files/lua/plugins/lspconfig.lua

42 lines
1.3 KiB
Lua
Raw Permalink Normal View History

2025-11-30 02:06:38 -08:00
local lsp_keymaps = require("keymaps.lsp") -- or adjust path as needed
local cmp_nvim_lsp = require("cmp_nvim_lsp")
local capabilities = cmp_nvim_lsp.default_capabilities()
return {
'neovim/nvim-lspconfig',
dependencies = {
'williamboman/mason.nvim',
'williamboman/mason-lspconfig.nvim',
},
config = function()
require("mason-lspconfig").setup({
ensure_installed = { "lua_ls", "pyright", "bashls", "jsonls", "html", "cssls", "ts_ls", "ltex" }, -- note tsserver!
automatic_installation = true,
handlers = {
-- Default handler for all servers
function(server_name)
require("lspconfig")[server_name].setup({
capabilities = capabilities,
on_attach = lsp_keymaps.on_attach,
})
end,
-- Custom config for ltex
["ltex"] = function()
require("lspconfig").ltex.setup({
capabilities = capabilities,
on_attach = lsp_keymaps.on_attach,
filetypes = { "markdown", "text", "tex", "org" },
settings = {
ltex = {
language = "en-US",
server = { "https://lgtool.priyatham.in/v2" },
suggestionsEnabled = true,
},
},
})
end,
},
})
end,
}