41 lines
1.3 KiB
Lua
41 lines
1.3 KiB
Lua
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,
|
|
}
|