| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- local M = {
- "neovim/nvim-lspconfig",
- dependencies = {
- {
- "folke/lazydev.nvim",
- ft = "lua",
- opts = {
- library = {
- { path = "${3rd}/luv/library", words = { "vim%.uv" } },
- },
- },
- },
- {
- "j-hui/fidget.nvim",
- opts = {},
- },
- {
- "ray-x/go.nvim",
- ft = "go",
- config = function(_, opts)
- require("go").setup(opts)
- vim.keymap.set("n", "<leader>gmt", ":GoModTidy<cr>", {
- desc = "[Go] Tidy",
- })
- end,
- build = function()
- vim.cmd([[silent! GoModTidy]])
- end,
- },
- },
- }
- function M.config()
- local lspconfig = require("lspconfig")
- vim.lsp.enable({ "tsgo" })
- local servers = {
- "gopls",
- "jsonls",
- "clangd",
- "lua_ls",
- "yamlls",
- "graphql",
- "html",
- "cssls",
- "omnisharp",
- "svelte",
- "templ",
- "tinymist",
- "jdtls",
- "nixd",
- "qmlls",
- "zls",
- }
- for _, server in ipairs(servers) do
- lspconfig[server].setup({
- on_attach = function(client, bufnr)
- local opts = { buffer = bufnr, silent = true }
- nmap("K", vim.lsp.buf.hover, vim.tbl_extend("force", opts, { desc = "Hover Doc" }))
- nmap("<C-h>", vim.lsp.buf.signature_help, vim.tbl_extend("force", opts, { desc = "Signature Help" }))
- nmap("<leader>r", vim.lsp.buf.rename, vim.tbl_extend("force", opts, { desc = "Rename" }))
- nmap("<leader>ca", vim.lsp.buf.code_action, vim.tbl_extend("force", opts, { desc = "Code Action" }))
- nmap("vd", vim.diagnostic.open_float, vim.tbl_extend("force", opts, { desc = "View Diagnostics" }))
- nmap("<leader>lr", "<cmd>LspRestart<CR>", vim.tbl_extend("force", opts, { desc = "Restart LSP" }))
- if client.server_capabilities.documentHighlightProvider then
- vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
- buffer = bufnr,
- callback = vim.lsp.buf.document_highlight,
- })
- vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
- buffer = bufnr,
- callback = vim.lsp.buf.clear_references,
- })
- end
- end,
- })
- end
- end
- return M
- --
|