diff --git a/lazy-lock.json b/lazy-lock.json index 756af4d..3edcf8b 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -4,20 +4,20 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" }, - "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, + "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, "gitsigns.nvim": { "branch": "main", "commit": "abf82a65f185bd54adc0679f74b7d6e1ada690c9" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "4823a251e7578a835bb979c37df390fca692ba39" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "fb179adb7161b53ec998b1139002473434586c3f" }, "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, "nvim": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" }, "nvim-autopairs": { "branch": "master", "commit": "c2a0dd0d931d0fb07665e1fedb1ea688da3b80b4" }, - "nvim-cmp": { "branch": "main", "commit": "85bbfad83f804f11688d1ab9486b459e699292d6" }, - "nvim-lspconfig": { "branch": "master", "commit": "419b082102fa813739588dd82e19a8b6b2442855" }, - "nvim-treesitter": { "branch": "main", "commit": "ec034813775d7e2974c7551c8c34499a828963f8" }, + "nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" }, + "nvim-lspconfig": { "branch": "master", "commit": "ff9c0af8f9b2097fdd2695058db7e04c193908aa" }, + "nvim-treesitter": { "branch": "main", "commit": "f8bbc3177d929dc86e272c41cc15219f0a7aa1ac" }, "nvim-web-devicons": { "branch": "master", "commit": "803353450c374192393f5387b6a0176d0972b848" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "telescope.nvim": { "branch": "master", "commit": "0d8b6eaa0b5ae6bb3d9785f7a3ba4a4c6c1b1af2" }, + "telescope.nvim": { "branch": "master", "commit": "ad7d9580338354ccc136e5b8f0aa4f880434dcdc" }, "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } } diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index c22f15e..97d47cb 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -10,7 +10,7 @@ return { dependencies = { "williamboman/mason.nvim" }, opts = { -- installs these via Mason (so you don't have to) - ensure_installed = { "gopls", "ts_ls", "lua_ls" }, + ensure_installed = { "gopls", "ts_ls", "lua_ls", "clangd", "rust_analyzer" }, -- optional: automatically call vim.lsp.enable() for installed servers automatic_enable = true, @@ -71,6 +71,24 @@ return { }, }) + vim.lsp.config("clangd", { + capabilities = capabilities, + cmd = { "clangd", "--background-index" }, + -- nice-to-haves: + -- "--clang-tidy", -- enable clang-tidy diagnostics (can be noisy) + -- "--completion-style=detailed", + }) + vim.lsp.config("rust_analyzer", { + capabilities = capabilities, + settings = { + ["rust-analyzer"] = { + cargo = { allFeatures = true }, + checkOnSave = { + command = "clippy", + }, + }, + }, + }) -- If you did NOT set mason-lspconfig automatic_enable=true, -- enable explicitly: -- vim.lsp.enable({ "gopls", "ts_ls", "lua_ls" }) @@ -141,6 +159,9 @@ return { javascriptreact = { "prettierd", "prettier" }, json = { "prettierd", "prettier" }, lua = { "stylua" }, + c = { "clang-format" }, + cpp = { "clang-format" }, + rust = { "rustfmt" }, }, })