32 lines
813 B
Lua
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
|