diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index 90d5e75..cb6cff2 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -1,42 +1,42 @@ { - "LuaSnip": { "branch": "master", "commit": "b3104910bb5ebf40492aadffae18f2528fa757d9" }, - "NvChad": { "branch": "v2.5", "commit": "b5b38ebee53bcc8b71a917916ce61504ffffd509" }, - "base46": { "branch": "v3.0", "commit": "390bbb6cf149dc9da1a91548598c809f62fbc3c6" }, + "LuaSnip": { "branch": "master", "commit": "73813308abc2eaeff2bc0d3f2f79270c491be9d7" }, + "NvChad": { "branch": "v2.5", "commit": "f107fabe11ac8013dc3435ecd5382bee872b1584" }, + "base46": { "branch": "v3.0", "commit": "db58475d3fd2a16f9b1467d6895e3c4c195ed7dd" }, "cmp-async-path": { "branch": "main", "commit": "0ed1492f59e730c366d261a5ad822fa37e44c325" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "codesnap.nvim": { "branch": "main", "commit": "be6d6b9a3b5e6999edbda76b16dace03d9bfcd3d" }, - "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, + "conform.nvim": { "branch": "master", "commit": "c64cc754ace603e185ab30113aaef174187eacf8" }, "crates.nvim": { "branch": "main", "commit": "ac9fa498a9edb96dc3056724ff69d5f40b898453" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "gitsigns.nvim": { "branch": "main", "commit": "f780609807eca1f783a36a8a31c30a48fbe150c5" }, + "gitsigns.nvim": { "branch": "main", "commit": "89f75073da1c8fab1d8b6285da72366ee54633ba" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, + "mason.nvim": { "branch": "main", "commit": "a83eabdc8c49c0c93bf5bb162fa3b57404a9d095" }, "menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" }, "minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" }, "mkdir.nvim": { "branch": "main", "commit": "c55d1dee4f099528a1853b28bb28caa802eba217" }, "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, - "nvim-dap": { "branch": "master", "commit": "7523676a4be17644587aa47e4d42f6f7646d4727" }, + "nvim-dap": { "branch": "master", "commit": "7367cec8e8f7a0b1e4566af9a7ef5959d11206a7" }, "nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" }, "nvim-dap-python": { "branch": "master", "commit": "bfe572e4458e0ac876b9539a1e9f301c72db8ea0" }, "nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" }, - "nvim-lspconfig": { "branch": "master", "commit": "d9879110d0422a566fa01d732556f4d5515e1738" }, + "nvim-lspconfig": { "branch": "master", "commit": "a844e89ea0e0e4b207ec550c3b51fb6e471881a4" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, - "nvim-tree.lua": { "branch": "master", "commit": "e179ad2f83b5955ab0af653069a493a1828c2697" }, + "nvim-tree.lua": { "branch": "master", "commit": "87d096a39cb2d5d43e6771563575ff042a79f48b" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" }, + "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "render-markdown.nvim": { "branch": "main", "commit": "5f437a26a8a8b964eff683dd6f68bc2a0d38c5db" }, + "render-markdown.nvim": { "branch": "main", "commit": "9ab9dade85d8c7d411cc89b592028da3d1b7955a" }, "rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" }, "rustaceanvim": { "branch": "master", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" }, - "sonarlint.nvim": { "branch": "main", "commit": "5c3e0bb647be90cec844022991f33d50b6838964" }, + "sonarlint.nvim": { "branch": "main", "commit": "6a3f95e0b034ce601d7a970ce4136d6a3ba7a685" }, "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, - "ui": { "branch": "v3.0", "commit": "4852e04faefbba3a18cb197b76ac00f4bc2e615f" }, + "ui": { "branch": "v3.0", "commit": "03b9718140375e7f3f5e4f3e04bc2b6c907440ec" }, "volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" }, - "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } + "which-key.nvim": { "branch": "main", "commit": "904308e6885bbb7b60714c80ab3daf0c071c1492" } } diff --git a/nvim/.config/nvim/lua/configs/lspconfig.lua b/nvim/.config/nvim/lua/configs/lspconfig.lua index 29d50a4..e1f7537 100644 --- a/nvim/.config/nvim/lua/configs/lspconfig.lua +++ b/nvim/.config/nvim/lua/configs/lspconfig.lua @@ -1,85 +1,104 @@ -- load defaults i.e lua_lsp require("nvchad.configs.lspconfig").defaults() -local lspconfig = require("lspconfig") - --- EXAMPLE -local servers = { "html", "cssls" } local nvlsp = require("nvchad.configs.lspconfig") +local lspconfig_util = require("lspconfig.util") +local root_pattern = lspconfig_util.root_pattern --- lsps with default config -for _, lsp in ipairs(servers) do - lspconfig[lsp].setup({ - on_attach = nvlsp.on_attach, - on_init = nvlsp.on_init, - capabilities = nvlsp.capabilities, - }) -end - -lspconfig.gopls.setup({ - on_attach = nvlsp.on_attach, - capabilities = nvlsp.capabilities, - cmd = { "gopls" }, - filetypes = { "go", "gomod", "gowork", "gotmpl" }, - settings = { - completeUnimported = true, - usePlaceholders = true, - analyses = { - unusedparams = true, - }, - }, -}) - -lspconfig.ts_ls.setup({ - on_attach = nvlsp.on_attach, - capabilities = nvlsp.capabilities, - init_options = { - preferences = { - disableSuggestions = true, - }, - }, -}) - -lspconfig.tailwindcss.setup({ - on_attach = nvlsp.on_attach, - capabilities = nvlsp.capabilities, -}) - -lspconfig.pyright.setup({ - on_attach = nvlsp.on_attach, - capabilities = nvlsp.capabilities, - filetypes = { "python" }, -}) - -lspconfig.eslint.setup({ - on_attach = nvlsp.on_attach, - capabilities = nvlsp.capabilities, -}) - -lspconfig.golangcilsp = { - default_config = { - cmd = { "golangci-lint-langserver" }, - root_dir = lspconfig.util.root_pattern(".git", "go.mod"), - init_options = { - command = { - "golangci-lint", - "run", - "--output.json.path", - "stdout", - "--show-stats=false", - "--issues-exit-code=1", +local servers = { + { name = "html" }, + { name = "cssls" }, + { name = "eslint" }, + { + name = "gopls", + config = { + on_attach = nvlsp.on_attach, + capabilities = nvlsp.capabilities, + cmd = { "gopls" }, + filetypes = { "go", "gomod", "gowork", "gotmpl" }, + settings = { + completeUnimported = true, + usePlaceholders = true, + analyses = { + unusedparams = true, + }, }, }, }, + { + name = "ts_ls", + config = { + on_attach = nvlsp.on_attach, + capabilities = nvlsp.capabilities, + init_options = { + preferences = { + disableSuggestions = true, + }, + }, + }, + }, + { + name = "tailwindcss", + config = { + on_attach = nvlsp.on_attach, + capabilities = nvlsp.capabilities, + }, + }, + { + name = "pyright", + config = { + on_attach = nvlsp.on_attach, + capabilities = nvlsp.capabilities, + filetypes = { "python" }, + }, + }, + { + name = "golangcilsp", + config = { + default_config = { + cmd = { "golangci-lint-langserver" }, + root_dir = root_pattern(".git", "go.mod"), + init_options = { + command = { + "golangci-lint", + "run", + "--output.json.path", + "stdout", + "--show-stats=false", + "--issues-exit-code=1", + }, + }, + }, + }, + }, + { + name = "golangci_lint_ls", + config = { + filetypes = { "go", "gomod" }, + }, + }, + { + name = "clangd", + config = { + filetypes = { "c" }, + on_attach = function(client, _) + if client.server_capabilities.documentFormattingProvider then + client.server_capabilities.documentFormattingProvider = false + end + + if client.server_capabilities.documentRangeFormattingProvider then + client.server_capabilities.documentRangeFormattingProvider = false + end + end, + }, + }, } -lspconfig.golangci_lint_ls.setup({ - filetypes = { "go", "gomod" }, -}) - -lspconfig.clangd.setup({ - filetypes = { "c" }, -}) +-- lsps with default config +for _, lsp in ipairs(servers) do + vim.lsp.config(lsp.name, lsp.config or {}) + vim.lsp.enable(lsp.name) +end require("sonarlint").setup({ server = {