aboutsummaryrefslogtreecommitdiff
path: root/store/home/config/nvim/lua/setup/lsp/clangd.lua
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-03-12 22:50:12 +0800
committerYuqian Yang <crupest@crupest.life>2025-03-12 22:50:12 +0800
commit3d9b0c38adf1b2afd89ef33bbe70cd4eb4c1d8e6 (patch)
tree7d33fca9ba5af14e14cf0982eb7e6d0556ca12b0 /store/home/config/nvim/lua/setup/lsp/clangd.lua
parent9e635213f5a5145db7b31972050ab75f1aa19c15 (diff)
downloadcrupest-3d9b0c38adf1b2afd89ef33bbe70cd4eb4c1d8e6.tar.gz
crupest-3d9b0c38adf1b2afd89ef33bbe70cd4eb4c1d8e6.tar.bz2
crupest-3d9b0c38adf1b2afd89ef33bbe70cd4eb4c1d8e6.zip
feat(nvim): improve configs a lot.
Diffstat (limited to 'store/home/config/nvim/lua/setup/lsp/clangd.lua')
-rw-r--r--store/home/config/nvim/lua/setup/lsp/clangd.lua25
1 files changed, 25 insertions, 0 deletions
diff --git a/store/home/config/nvim/lua/setup/lsp/clangd.lua b/store/home/config/nvim/lua/setup/lsp/clangd.lua
new file mode 100644
index 0000000..6080510
--- /dev/null
+++ b/store/home/config/nvim/lua/setup/lsp/clangd.lua
@@ -0,0 +1,25 @@
+local lspconfig = require("lspconfig")
+
+local brew_clangd_path = "/usr/local/opt/llvm/bin/clangd"
+
+local function setup()
+ local clangd = "clangd"
+
+ if vim.uv.fs_stat(brew_clangd_path) ~= nil then
+ clangd = brew_clangd_path
+ end
+
+ -- setup lsp clangd
+ lspconfig.clangd.setup {
+ cmd = { clangd },
+ on_attach = function(_, bufnr)
+ vim.keymap.set('n', 'grs', "<cmd>ClangdSwitchSourceHeader<cr>", {
+ buffer = bufnr
+ })
+ end
+ }
+end
+
+return {
+ setup = setup
+}