From 36dc84be907adf0b8d5f24f706c88cf5395ca6be Mon Sep 17 00:00:00 2001 From: Mora Unie Youer Date: Tue, 7 Oct 2025 13:51:15 +0300 Subject: feat: add `clangd` for C/++ files --- flake.nix | 4 ++++ lsp/clangd.lua | 21 +++++++++++++++++++++ lua/config/lsp.lua | 2 ++ 3 files changed, 27 insertions(+) create mode 100644 lsp/clangd.lua diff --git a/flake.nix b/flake.nix index baa5620..a978d4c 100644 --- a/flake.nix +++ b/flake.nix @@ -138,6 +138,10 @@ nodejs-slim ]; + c = [ + clang-tools + ]; + lua = [ lua-language-server stylua diff --git a/lsp/clangd.lua b/lsp/clangd.lua new file mode 100644 index 0000000..9aced07 --- /dev/null +++ b/lsp/clangd.lua @@ -0,0 +1,21 @@ +return { + cmd = { "clangd" }, + filetypes = { "c", "cpp", "objc", "objcpp", "cuda" }, + root_markers = { + ".clangd", + ".clang-tidy", + ".clang-format", + "compile_commands.json", + "compile_flags.txt", + "configure.ac", -- AutoTools + ".git", + }, + capabilities = { + textDocument = { + completion = { + editsNearCursor = true, + }, + }, + offsetEncoding = { "utf-8", "utf-16" }, + }, +} diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua index 7004b6c..059b754 100644 --- a/lua/config/lsp.lua +++ b/lua/config/lsp.lua @@ -6,6 +6,8 @@ vim.diagnostic.config({ }) vim.lsp.enable({ + "clangd", + "lua-language-server", "nixd", -- cgit v1.2.3-70-g09d2