diff options
| author | Aotrix <[email protected]> | 2025-02-24 15:36:58 +0100 |
|---|---|---|
| committer | Aotrix <[email protected]> | 2025-02-24 15:36:58 +0100 |
| commit | 69182fb677180613d3ba0e9042882a5694bb121a (patch) | |
| tree | 68a33aedb6183e5e97eb36cef6b8d9cda6c22073 /lua/aotrix/plugins/lsp.lua | |
| parent | acf3e9cf09761514301dd6ba6f97978cf4ca5587 (diff) | |
C++ autoformat finally works!
Diffstat (limited to 'lua/aotrix/plugins/lsp.lua')
| -rw-r--r-- | lua/aotrix/plugins/lsp.lua | 55 |
1 files changed, 30 insertions, 25 deletions
diff --git a/lua/aotrix/plugins/lsp.lua b/lua/aotrix/plugins/lsp.lua index 36486cc..d24b0d0 100644 --- a/lua/aotrix/plugins/lsp.lua +++ b/lua/aotrix/plugins/lsp.lua @@ -1,42 +1,47 @@ return { "neovim/nvim-lspconfig", + dependencies = { + "williamboman/mason.nvim", "williamboman/mason-lspconfig.nvim" + }, config = function() + require("mason").setup() + require("mason-lspconfig").setup({ + ensure_installed = {"cmake", "lua_ls"} + }) require('lspconfig').clangd.setup({ root_dir = function(fname) - return require("lspconfig.util").root_pattern( - "CMakeLists.txt", - "Makefile", - "configure.ac", - "configure.in", - "config.h.in", - "meson.build", - "meson_options.txt", - "build.ninja" - )(fname) or require("lspconfig.util").root_pattern("compile_commands.json", "compile_flags.txt")( - fname - ) or require("lspconfig.util").find_git_ancestor(fname) + return require("lspconfig.util").root_pattern("CMakeLists.txt", + "Makefile", + "configure.ac", + "configure.in", + "config.h.in", + "meson.build", + "meson_options.txt", + "build.ninja")( + fname) or + require("lspconfig.util").root_pattern( + "compile_commands.json", "compile_flags.txt")( + fname) or + require("lspconfig.util").find_git_ancestor(fname) end, - capabilities = { - offsetEncoding = { "utf-16" }, - }, + capabilities = {offsetEncoding = {"utf-16"}}, cmd = { - "clangd", - "--background-index", - "--clang-tidy", - "--header-insertion=iwyu", - "--completion-style=detailed", - "--function-arg-placeholders", - "--fallback-style=llvm", + "clangd", "--background-index", "--clang-tidy", + "--header-insertion=iwyu", "--completion-style=detailed", + "--function-arg-placeholders", "--fallback-style=llvm" }, init_options = { usePlaceholders = true, completeUnimported = true, - clangdFileStatus = true, - }, + clangdFileStatus = true + } }) vim.keymap.set("n", "<leader>o", "<cmd>ClangdSwitchSourceHeader<cr>") require('lspconfig').cmake.setup({}) - end, + require('lspconfig').lua_ls.setup({ + settings = {completion = {callSnippet = 'Replace'}} + }) + end } |
