From 6fe6bd334f8c006e6fc8fdf0c8a9a4181000be13 Mon Sep 17 00:00:00 2001 From: Justine Smithies Date: Sat, 1 Feb 2025 15:54:42 +0000 Subject: Initial commit of my revamped Neovim config --- .config/nvim/lua/plugins/nvim-cmp.lua | 54 +++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .config/nvim/lua/plugins/nvim-cmp.lua (limited to '.config/nvim/lua/plugins/nvim-cmp.lua') diff --git a/.config/nvim/lua/plugins/nvim-cmp.lua b/.config/nvim/lua/plugins/nvim-cmp.lua new file mode 100644 index 0000000..dc06f47 --- /dev/null +++ b/.config/nvim/lua/plugins/nvim-cmp.lua @@ -0,0 +1,54 @@ + return { + "hrsh7th/nvim-cmp", + config = function() + local cmp = require("cmp") + local luasnip = require("luasnip") + local lspkind = require("lspkind") + + require("luasnip/loaders/from_vscode").lazy_load() + + vim.opt.completeopt = "menu,menuone,noselect" + + cmp.setup({ + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.select_prev_item(), -- previous suggestion + [""] = cmp.mapping.select_next_item(), -- next suggestion + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), -- show completion suggestions + [""] = cmp.mapping.abort(), -- close completion window + [""] = cmp.mapping.confirm({ select = false }), + }), + -- sources for autocompletion + sources = cmp.config.sources({ + { name = "nvim_lsp" }, -- lsp + { name = "luasnip" }, -- snippets + { name = "buffer" }, -- text within current buffer + { name = "path" }, -- file system paths + }), + -- configure lspkind for vs-code like icons + formatting = { + format = lspkind.cmp_format({ + maxwidth = 50, + ellipsis_char = "...", + }), + }, + }) + end, + dependencies = { + "onsails/lspkind.nvim", + { + + "L3MON4D3/LuaSnip", + -- follow latest release. + version = "2.*", -- Replace by the latest released major (first number of latest release) + -- install jsregexp (optional!). + build = "make install_jsregexp", + }, + }, +} -- cgit v1.2.3