diff options
feat: add `clangd` for C/++ files
Diffstat (limited to '')
-rw-r--r-- | flake.nix | 4 | ||||
-rw-r--r-- | lsp/clangd.lua | 21 | ||||
-rw-r--r-- | lua/config/lsp.lua | 2 |
3 files changed, 27 insertions, 0 deletions
@@ -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", |