diff options
| author | seth <[email protected]> | 2024-04-09 19:49:37 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2024-04-09 19:49:37 -0400 |
| commit | 16a1126200932407f9f4562fba961b514a1c91d1 (patch) | |
| tree | 3ab1b6f1035436a644465757c38c17d7943cea11 /config/plugin/cmp.lua | |
| parent | 43dbb8549d0ecc6dd62a5fd5f9b63beacbfc487b (diff) | |
auto import all files, cleanup + add a few things
Diffstat (limited to 'config/plugin/cmp.lua')
| -rw-r--r-- | config/plugin/cmp.lua | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/config/plugin/cmp.lua b/config/plugin/cmp.lua new file mode 100644 index 0000000..10c750f --- /dev/null +++ b/config/plugin/cmp.lua @@ -0,0 +1,47 @@ +if vim.g.did_load_cmp_plugin then + return +end +vim.g.did_load_cmp_plugin = true + +local cmp = require("cmp") + +cmp.setup({ + completion = { + compleopt = "menu,menuone,insert", + }, + + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + + mapping = { + ["<C-n>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), + ["<C-p>"] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), + ["<C-b>"] = cmp.mapping.scroll_docs(-4), + ["<C-f>"] = cmp.mapping.scroll_docs(4), + ["<C-Space>"] = cmp.mapping.complete(), + ["<C-e>"] = cmp.mapping.abort(), + ["<CR>"] = cmp.mapping({ + i = function(fallback) + if cmp.visible() and cmp.get_active_entry() then + cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }) + else + fallback() + end + end, + + s = cmp.mapping.confirm({ select = true }), + c = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }), + }), + }, + + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "async_path" }, + { name = "buffer" }, + { name = "rg" }, + }), +}) |
