aboutsummaryrefslogtreecommitdiff
path: root/lua/config/nvim-cmp.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/config/nvim-cmp.lua')
-rw-r--r--lua/config/nvim-cmp.lua41
1 files changed, 41 insertions, 0 deletions
diff --git a/lua/config/nvim-cmp.lua b/lua/config/nvim-cmp.lua
new file mode 100644
index 0000000..97350b2
--- /dev/null
+++ b/lua/config/nvim-cmp.lua
@@ -0,0 +1,41 @@
+-- Setup nvim-cmp.
+local cmp = require'cmp'
+
+cmp.setup({
+ snippet = {
+ expand = function(args)
+ -- For `ultisnips` user.
+ vim.fn["UltiSnips#Anon"](args.body)
+ end,
+ },
+ mapping = {
+ ['<Tab>'] = function(fallback)
+ if cmp.visible() then
+ cmp.select_next_item()
+ else
+ fallback()
+ end
+ end,
+ ['<S-Tab>'] = function(fallback)
+ if cmp.visible() then
+ cmp.select_prev_item()
+ else
+ fallback()
+ end
+ end,
+ ['<Esc>'] = cmp.mapping.close(),
+ },
+ sources = {
+ { name = 'nvim_lsp' }, -- For nvim-lsp
+ { name = 'ultisnips' }, -- For ultisnips user.
+ { name = 'path' }, -- for path completion
+ { name = 'emoji', insert = true, } -- emoji completion
+ },
+ completion = {
+ keyword_length = 1,
+ completeopt = "menu,menuone,noinsert"
+ },
+ experimental = {
+ ghost_text = false
+ }
+})