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", "o", "ClangdSwitchSourceHeader", 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