Files
nvim/lua/lsps/clangd.lua
2025-01-24 13:56:11 -06:00

32 lines
813 B
Lua

local map = require('core.misc').map
return function(server_name, attach, capabilities)
require('lspconfig')[server_name].setup {
on_attach = function(client, bufnr)
attach(client, bufnr)
-- add some clangd specific mappings
local opts = { buffer = bufnr }
map("n", "<leader>o", "<cmd>ClangdSwitchSourceHeader<CR>", opts)
end,
capabilities = capabilities,
cmd = {
"clangd",
"--background-index",
"--clang-tidy",
"--header-insertion=iwyu",
"--completion-style=detailed",
"--function-arg-placeholders",
"--fallback-style=llvm"
},
init_options = {
usePlaceholders = true,
clangdFileStatus = true,
fallback_flags = {
"-xc" -- makes clangd think we're using c instead of c++
}
}
}
end