my-nvim-lua/lua/nvim-compe/lua.lua

49 lines
1.2 KiB
Lua
Raw Normal View History

2021-03-11 19:00:34 +00:00
vim.cmd [[packadd nvim-lspconfig]]
vim.cmd [[packadd nvim-compe]]
vim.o.completeopt = "menuone,noselect"
2021-03-13 01:23:02 +00:00
require "compe".setup {
enabled = true,
autocomplete = true,
debug = false,
min_length = 1,
preselect = "enable",
throttle_time = 80,
source_timeout = 200,
incomplete_delay = 400,
max_abbr_width = 100,
max_kind_width = 100,
max_menu_width = 100,
documentation = false,
source = {
path = true,
buffer = true,
calc = true,
vsnip = true,
nvim_lsp = true,
nvim_lua = true,
spell = true,
tags = true,
snippets_nvim = true,
treesitter = true
}
2021-03-11 19:00:34 +00:00
}
local t = function(str)
2021-03-13 01:23:02 +00:00
return vim.api.nvim_replace_termcodes(str, true, true, true)
2021-03-11 19:00:34 +00:00
end
_G.s_tab_complete = function()
2021-03-13 01:23:02 +00:00
if vim.fn.pumvisible() == 1 then
return t "<C-p>"
elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then
return t "<Plug>(vsnip-jump-prev)"
else
return t "<S-Tab>"
end
2021-03-11 19:00:34 +00:00
end
vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true})
vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})