diff options
Diffstat (limited to '.config/nvim/lua/plugin/lsp.lua')
| -rw-r--r-- | .config/nvim/lua/plugin/lsp.lua | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/.config/nvim/lua/plugin/lsp.lua b/.config/nvim/lua/plugin/lsp.lua deleted file mode 100644 index 50eed85..0000000 --- a/.config/nvim/lua/plugin/lsp.lua +++ /dev/null @@ -1,81 +0,0 @@ -local lspconf = require("lspconfig") -local cmp = require("cmp") -local capabilities = require("cmp_nvim_lsp").default_capabilities() - -vim.opt.signcolumn = "yes" - -local servers = { - ["lua_ls"] = { - settings = { - Lua = { - runtime = { - version = "LuaJIT" - }, - }, - }, - }, - ["clangd"] = {}, -} - -for lsp, conf in pairs(servers) do - conf.capabilities = capabilities - lspconf[lsp].setup(conf) -end - -cmp.setup({ - preselect = "item", - completion = { - completeopt = "menu,menuone,noinsert", - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - formatting = { - fields = { "menu", "abbr", "kind" }, - - format = function(entry, item) - local menu_icon = { - nvim_lsp = "L", - buffer = "B", - path = "P", - nvim_lua = "V", - } - - item.menu = menu_icon[entry.source.name] - - return item - end, - }, - mapping = { - ["<CR>"] = cmp.mapping.confirm({ select = false }), - ["<Tab>"] = cmp.mapping.select_next_item(), - ["<S-Tab>"] = cmp.mapping.select_prev_item(), - }, - sources = { - { name = "path" }, - { name = "nvim_lsp" }, - { name = "buffer", keyword_length = 3 }, - }, -}) - -vim.api.nvim_create_autocmd("LspAttach", { - group = vim.api.nvim_create_augroup("UserLspConfig", {}), - callback = function(ev) - vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc" - local opts = { buffer = ev.buf } - vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) - vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) - vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts) - vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) - vim.keymap.set("n", "go", vim.lsp.buf.type_definition, opts) - vim.keymap.set("n", "<leader>ls", vim.lsp.buf.signature_help, opts) - vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts) - vim.keymap.set("n", "<leader>h", vim.lsp.buf.hover, opts) - vim.keymap.set({"n", "v"}, "<space>ca", vim.lsp.buf.code_action, opts) - vim.keymap.set("n", "<space>f", - function() - vim.lsp.buf.format({async = true}) - end, opts) - end -}) |
