nvchad/lua/nvim-compe/lua.lua

74 lines
1.9 KiB
Lua
Raw Normal View History

2021-03-11 14:00:34 -05:00
vim.cmd [[packadd nvim-lspconfig]]
vim.cmd [[packadd nvim-compe]]
vim.o.completeopt = "menuone,noselect"
2021-03-12 20:23:02 -05: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,
2021-03-23 00:52:29 -04:00
documentation = true,
2021-03-12 20:23:02 -05:00
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 14:00:34 -05:00
}
local t = function(str)
2021-03-12 20:23:02 -05:00
return vim.api.nvim_replace_termcodes(str, true, true, true)
2021-03-11 14:00:34 -05:00
end
2021-03-31 06:01:05 -04:00
_G.tab_complete = function()
if vim.fn.pumvisible() == 1 then
return t "<C-n>"
elseif check_back_space() then
return t "<Tab>"
else
return vim.fn['compe#complete']()
end
end
2021-03-11 14:00:34 -05:00
_G.s_tab_complete = function()
2021-03-12 20:23:02 -05: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 14:00:34 -05:00
end
2021-03-17 10:37:02 -04:00
-- mappings
2021-03-31 06:01:05 -04:00
vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true})
2021-03-11 14:00:34 -05:00
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})
2021-03-17 10:37:02 -04:00
function _G.completions()
local npairs = require("nvim-autopairs")
if vim.fn.pumvisible() == 1 then
if vim.fn.complete_info()["selected"] ~= -1 then
return vim.fn["compe#confirm"]("<CR>")
end
end
return npairs.check_break_line_char()
end
vim.api.nvim_set_keymap("i", "<CR>", "v:lua.completions()", {expr = true})