summaryrefslogtreecommitdiff
path: root/lua/aotrix/plugins/lsp.lua
diff options
context:
space:
mode:
authorAotrix <[email protected]>2025-02-24 15:36:58 +0100
committerAotrix <[email protected]>2025-02-24 15:36:58 +0100
commit69182fb677180613d3ba0e9042882a5694bb121a (patch)
tree68a33aedb6183e5e97eb36cef6b8d9cda6c22073 /lua/aotrix/plugins/lsp.lua
parentacf3e9cf09761514301dd6ba6f97978cf4ca5587 (diff)
C++ autoformat finally works!
Diffstat (limited to 'lua/aotrix/plugins/lsp.lua')
-rw-r--r--lua/aotrix/plugins/lsp.lua55
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
}