summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.nix4
-rw-r--r--lsp/clangd.lua21
-rw-r--r--lua/config/lsp.lua2
3 files changed, 27 insertions, 0 deletions
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",