From 897d45711c35319d9076df124f34987bc6085c7b Mon Sep 17 00:00:00 2001 From: lol3rrr Date: Sat, 9 May 2026 00:40:45 +0200 Subject: [PATCH] Add basic clangd --- init.lua | 1 + lazy-lock.json | 6 +++--- lsp/clangd-lsp.lua | 25 +++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 lsp/clangd-lsp.lua diff --git a/init.lua b/init.lua index ec9ba20..95a7a4b 100644 --- a/init.lua +++ b/init.lua @@ -52,6 +52,7 @@ vim.lsp.enable('tsserver') --}) vim.lsp.enable('ruby-lsp') vim.lsp.enable('java-lsp') +vim.lsp.enable('clangd-lsp') -- Setup Treesitter require'nvim-treesitter'.setup { diff --git a/lazy-lock.json b/lazy-lock.json index 17027cd..a405f32 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -5,13 +5,13 @@ "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" }, "crates.nvim": { "branch": "main", "commit": "694357861ec9ebf12475ddcdd04ea45a0923c32d" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, - "lean.nvim": { "branch": "main", "commit": "999fab45a246478148ea54501f3bfc1e07a208a2" }, + "lean.nvim": { "branch": "main", "commit": "75b7822d565054606af84fa61771eb0030e2ceec" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "84c75e7a7e443586f60508d12fc50f90d9aee14e" }, "nightfly": { "branch": "master", "commit": "4980ccc6de5f361fc9da116240ce7592e7d9a53a" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" }, - "nvim-lspconfig": { "branch": "master", "commit": "6419b36f50c42420cbbf1d3ffba573094cf414c8" }, - "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" }, + "nvim-lspconfig": { "branch": "master", "commit": "451d4ef9abd4f0f08e379ef0d55d1c391b6125a7" }, + "nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" }, "nvim-web-devicons": { "branch": "master", "commit": "4fc505ac7bd7692824a142e96e5f529c133862f8" }, "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, "rustaceanvim": { "branch": "master", "commit": "88575b98bb9937fb9983ddec5e532b67e75ce677" }, diff --git a/lsp/clangd-lsp.lua b/lsp/clangd-lsp.lua new file mode 100644 index 0000000..9c300b3 --- /dev/null +++ b/lsp/clangd-lsp.lua @@ -0,0 +1,25 @@ +return { + filetypes = { "c", "cpp", "h" }, + cmd = { "clangd-18", '--background-index', '--clang-tidy', '--log=verbose', + "--header-insertion=iwyu", + "--completion-style=detailed", + "--function-arg-placeholders", + "--fallback-style=llvm", + }, + root_markers = { + "compile_commands.json", + "compile_flags.txt", + "configure.ac", -- AutoTools + "Makefile", + "configure.ac", + "configure.in", + "config.h.in", + "meson.build", + "meson_options.txt", + "build.ninja", + ".git", + }, + init_options = { + clangdFileStatus = true, + }, +}