-- see `:help` for any questions -- use `&` to show value of vimscript variable -- API -- -- o = vim.o -- options -- go = vim.go -- only-global options -- bo = vim.bo -- buffer local options -- wo = vim.wo -- window local options -- cmd = vim.cmd -- vim commands -- fn = vim.fn -- vim functions -- opt = vim.opt -- vim option object -- g = vim.g -- global variables -- b = vim.b -- buffer local variables -- w = vim.w -- window local variables -- t = vim.t -- tab local variables -- v = vim.v -- variables -- env = vim.env -- environment variables -- dependent on https://github.com/hrsh7th/nvim-compe 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; }; } local t = function(str) return vim.api.nvim_replace_termcodes(str, true, true, true) end local check_back_space = function() local col = fn.col('.') - 1 if col == 0 or fn.getline('.'):sub(col, col):match('%s') then return true else return false end end -- Use (s-)tab to: --- move to prev/next item in completion menuone --- jump to prev/next snippet's placeholder _G.tab_complete = function() if fn.pumvisible() == 1 then return t "" elseif fn.call("vsnip#available", {1}) == 1 then return t "(vsnip-expand-or-jump)" elseif check_back_space() then return t "" else return fn['compe#complete']() end end _G.s_tab_complete = function() if fn.pumvisible() == 1 then return t "" elseif fn.call("vsnip#jumpable", {-1}) == 1 then return t "(vsnip-jump-prev)" else -- If is not working in your terminal, change it to return t "" end end map("i", "", "v:lua.tab_complete()", {expr = true}) map("s", "", "v:lua.tab_complete()", {expr = true}) map("i", "", "v:lua.s_tab_complete()", {expr = true}) map("s", "", "v:lua.s_tab_complete()", {expr = true}) map('i', '', 'compe#confirm("")', { expr = true }) map('i', '', 'compe#complete()', { expr = true })