cmp.nix
· 835 B · Nix
Sin formato
cmp.mapping(function(fallback)
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
-- When the selection menu is open select the next item
if cmp.visible() then
cmp.select_next_item()
-- Ensure we are mid word
elseif col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil then
-- Open the selection menu
cmp.complete()
-- Autocomplete when there is only 1 selection available
if #cmp.get_entries() == 1 then
cmp.confirm({ select = true })
end
-- Keep regular functionality of tab
else
fallback()
end
end, {'i', 's'})
| 1 | cmp.mapping(function(fallback) |
| 2 | local line, col = unpack(vim.api.nvim_win_get_cursor(0)) |
| 3 | |
| 4 | -- When the selection menu is open select the next item |
| 5 | if cmp.visible() then |
| 6 | cmp.select_next_item() |
| 7 | -- Ensure we are mid word |
| 8 | elseif col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil then |
| 9 | -- Open the selection menu |
| 10 | cmp.complete() |
| 11 | -- Autocomplete when there is only 1 selection available |
| 12 | if #cmp.get_entries() == 1 then |
| 13 | cmp.confirm({ select = true }) |
| 14 | end |
| 15 | -- Keep regular functionality of tab |
| 16 | else |
| 17 | fallback() |
| 18 | end |
| 19 | end, {'i', 's'}) |
| 20 |