From c80a54e42b52ce297f0f2f71af23c562832025c7 Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Fri, 24 Jan 2025 20:35:27 +0900 Subject: init --- ar/.config/LazyVim/lua/plugins/lspconfig.lua | 77 ++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 ar/.config/LazyVim/lua/plugins/lspconfig.lua (limited to 'ar/.config/LazyVim/lua/plugins/lspconfig.lua') diff --git a/ar/.config/LazyVim/lua/plugins/lspconfig.lua b/ar/.config/LazyVim/lua/plugins/lspconfig.lua new file mode 100644 index 0000000..4d8db1c --- /dev/null +++ b/ar/.config/LazyVim/lua/plugins/lspconfig.lua @@ -0,0 +1,77 @@ +return { + "neovim/nvim-lspconfig", + init = function() + local keys = require("lazyvim.plugins.lsp.keymaps").get() + -- change a keymap + -- keys[#keys + 1] = { "K", "echo 'hello'" } + -- keys[#keys + 1] = { "", mode = { "i" }, false } + + -- disable a keymap + -- keys[#keys + 1] = { "K", false } + keys[#keys + 1] = { mode = { "i" }, "", false } + + -- add a keymap + -- keys[#keys + 1] = { "H", "echo 'hello'" } + end, + opts = { + servers = { + -- Ensure mason installs the server + clangd = { + keys = { + { "cR", "ClangdSwitchSourceHeader", desc = "Switch Source/Header (C/C++)" }, + }, + root_dir = function(fname) + return require("lspconfig.util").root_pattern( + "Makefile", + "configure.ac", + "configure.in", + "config.h.in", + "meson.build", + "meson_options.txt", + "build.ninja" + )(fname) or require("lspconfig.util").root_pattern("compile_commands.json", "compile_flags.txt")( + fname + ) or require("lspconfig.util").find_git_ancestor(fname) + end, + capabilities = { + offsetEncoding = { "utf-16" }, + }, + cmd = { + "clangd", + "--background-index", + "--clang-tidy", + "--header-insertion=iwyu", + "--completion-style=detailed", + "--function-arg-placeholders", + "--fallback-style=llvm", + }, + init_options = { + usePlaceholders = true, + completeUnimported = true, + clangdFileStatus = true, + }, + }, + }, + setup = { + clangd = function(_, opts) + local clangd_ext_opts = require("lazyvim.util").opts("clangd_extensions.nvim") + require("clangd_extensions").setup(vim.tbl_deep_extend("force", clangd_ext_opts or {}, { server = opts })) + return false + end, + }, + }, + keys = { + { + -- mode = "n", + "rr", + ":w | :TermExec cmd='compiler \"%\"' size=50 direction=tab go_back=0", + desc = "Run Code", + }, + { + -- mode = "n", + "rd", + ":w | :TermExec cmd='compiler \"%\" -d' size=50 direction=tab go_back=0", + desc = "Debug Code", + }, + }, +} -- cgit v1.2.3