40 }, |
40 }, |
41 mapping = cmp.mapping.preset.insert({ |
41 mapping = cmp.mapping.preset.insert({ |
42 ["<C-b>"] = cmp.mapping.scroll_docs(-4), |
42 ["<C-b>"] = cmp.mapping.scroll_docs(-4), |
43 ["<C-f>"] = cmp.mapping.scroll_docs(4), |
43 ["<C-f>"] = cmp.mapping.scroll_docs(4), |
44 ["<Tab>"] = cmp.mapping(function(fallback) |
44 ["<Tab>"] = cmp.mapping(function(fallback) |
45 if cmp.visible() then |
45 if vim.snippet.active({direction = 1}) then |
|
46 vim.snippet.jump(1) |
|
47 elseif cmp.visible() then |
46 cmp.select_next_item() |
48 cmp.select_next_item() |
47 elseif vim.snippet.active({direction = 1}) then |
|
48 vim.snippet.jump(1) |
|
49 elseif has_words_before() then |
49 elseif has_words_before() then |
50 cmp.complete() |
50 cmp.complete() |
51 else |
51 else |
52 fallback() |
52 fallback() |
53 end |
53 end |
54 end, { "i", "s" }), |
54 end, { "i", "s" }), |
55 ["<S-Tab>"] = cmp.mapping(function(fallback) |
55 ["<S-Tab>"] = cmp.mapping(function(fallback) |
56 if cmp.visible() then |
56 if vim.snippet.active({direction = -1}) then |
|
57 vim.snippet.jump(-1) |
|
58 elseif cmp.visible() then |
57 cmp.select_prev_item() |
59 cmp.select_prev_item() |
58 elseif vim.snippet.active({direction = -1}) then |
|
59 vim.snippet.jump(-1) |
|
60 else |
60 else |
61 fallback() |
61 fallback() |
62 end |
62 end |
63 end, { "i", "s" }), |
63 end, { "i", "s" }), |
64 ["<C-g>"] = cmp.mapping.abort(), |
64 ["<C-g>"] = cmp.mapping.abort(), |