diff --git a/lua/lsp.lua b/lua/lsp.lua index 679ef96..85c3327 100644 --- a/lua/lsp.lua +++ b/lua/lsp.lua @@ -23,6 +23,24 @@ vim.lsp.config("tinymist", { settings = { formatterMode = "typstyle" }, }) +vim.lsp.config("clangd", { + cmd = function(dispatchers, config) + local root = config.root_dir or "" + local exe = "clangd" -- Mason's clangd via PATH (default elsewhere) + if root ~= "" and vim.uv.fs_stat(root .. "/MakeDVA") + and vim.uv.fs_stat("/usr/bin/clangd") then + exe = "/usr/bin/clangd" -- Xcode's Apple clangd, toolchain-matched for DVA + end + return vim.lsp.rpc.start({ + exe, + "--background-index", + "--clang-tidy", + "--header-insertion=never", + "--completion-style=detailed", + }, dispatchers) + end, +}) + vim.lsp.enable({ "lua_ls", "ts_ls", "svelte", "tailwindcss", "cssls", "bashls", "rust_analyzer", "wgsl-analyzer", "clangd", "taplo", "sourcekit",