Files
nvim/lua/custom/configs/lspconfig.lua
thread 3fc6fde51c
Some checks failed
Close stale issues and PRs / stale (push) Has been cancelled
go stuff & a mess more
2025-03-28 14:53:54 -04:00

55 lines
1.5 KiB
Lua

local on_attach = require("plugins.configs.lspconfig").on_attach
local capabilities = require("plugins.configs.lspconfig").capabilities
local lspconfig = require "lspconfig"
local util = require "lspconfig/util"
-- if you just want default config for the servers then put them in a table
local servers = { "html", "cssls", "ts_ls", "clangd" }
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
}
end
lspconfig.gopls.setup {
cmd = { "gopls" },
filetypes = { "go", "gomod", "gowork", "gotmpl" },
root_dir = util.root_pattern("go.work", "go.mod", ".git"),
settings = {
gopls = {
completeUnimported = true,
usePlaceholders = true,
analyses = {
unusedParameters = true,
},
},
},
}
lspconfig.ts_ls.setup {
filetypes = { "javascript", "typescript", "typescriptreact", "typescript.tsx" },
capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()),
on_attach = function(client, bufnr)
local opts = { noremap = true, silent = true }
vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>f", "<cmd>lua vim.lsp.buf.format()<CR>", opts)
end,
}
-- lspconfig.rust_analyzer.setup({
-- on_attach = on_attach,
-- capabilities = capabilities,
-- filetypes = {"rust"},
-- root_dir = util.root_pattern("Cargo.toml"),
-- settings = {},
-- ['rust-analyzer'] = {
-- cargo = {
-- allFeatures = true,
-- }
-- }
-- })
--
-- lspconfig.pyright.setup { blabla}