fix(clangd): rewrite the root_dir function for the breaking changes of nvim 0.11

This commit is contained in:
Chilly 2025-05-10 16:32:44 +08:00
parent ec5981dfb1
commit 0ce049e235

View file

@ -60,18 +60,27 @@ return {
keys = {
{ "<leader>ch", "<cmd>ClangdSwitchSourceHeader<cr>", desc = "Switch Source/Header (C/C++)" },
},
root_dir = function(fname)
return require("lspconfig.util").root_pattern(
"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)
root_dir = function(bufnr, ondir)
local root_directory = function(fname)
return require("lspconfig.util").root_pattern(
"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
if type(bufnr) == "string" then
return root_directory(bufnr)
else
local fname = vim.api.nvim_buf_get_name(bufnr)
ondir(root_directory(fname))
end
end,
capabilities = {
offsetEncoding = { "utf-16" },