From 102b46ca4a99522ffd8066f1fac9ba4fe8759710 Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Tue, 27 Apr 2021 01:17:29 -0400 Subject: improve completion --- lua/lv-autopairs/init.lua | 156 ++++++++++++++++++++++++++-------------------- 1 file changed, 89 insertions(+), 67 deletions(-) (limited to 'lua/lv-autopairs/init.lua') diff --git a/lua/lv-autopairs/init.lua b/lua/lv-autopairs/init.lua index 5d0adf85..c3f6a6e0 100644 --- a/lua/lv-autopairs/init.lua +++ b/lua/lv-autopairs/init.lua @@ -1,77 +1,99 @@ -require('nvim-autopairs').setup() -local npairs = require('nvim-autopairs') +-- require('nvim-autopairs').setup() +-- local npairs = require('nvim-autopairs') -local function imap(lhs, rhs, opts) - local options = {noremap = false} - if opts then options = vim.tbl_extend('force', options, opts) end - vim.api.nvim_set_keymap('i', lhs, rhs, options) -end +-- local function imap(lhs, rhs, opts) +-- local options = {noremap = false} +-- if opts then options = vim.tbl_extend('force', options, opts) end +-- vim.api.nvim_set_keymap('i', lhs, rhs, options) +-- end -_G.MUtils = {} +-- _G.MUtils = {} --- TEST -vim.g.completion_confirm_key = "" -MUtils.completion_confirm = function() - if vim.fn.pumvisible() ~= 0 then - if vim.fn.complete_info()["selected"] ~= -1 then - vim.fn["compe#confirm"]() - -- return npairs.esc("") - return npairs.esc("") - else - vim.defer_fn(function() - vim.fn["compe#confirm"]("") - end, 20) - return npairs.esc("") - end - else - return npairs.check_break_line_char() - end -end --- TEST +-- -- TEST +-- vim.g.completion_confirm_key = "" +-- MUtils.completion_confirm = function() +-- if vim.fn.pumvisible() ~= 0 then +-- if vim.fn.complete_info()["selected"] ~= -1 then +-- vim.fn["compe#confirm"]() +-- -- return npairs.esc("") +-- return npairs.esc("") +-- else +-- vim.defer_fn(function() +-- vim.fn["compe#confirm"]("") +-- end, 20) +-- return npairs.esc("") +-- end +-- else +-- return npairs.check_break_line_char() +-- end +-- end +-- -- TEST -MUtils.completion_confirm = function() - if vim.fn.pumvisible() ~= 0 then - if vim.fn.complete_info()["selected"] ~= -1 then - vim.fn["compe#confirm"]() - return npairs.esc("") - else - vim.api.nvim_select_popupmenu_item(0, false, false, {}) - vim.fn["compe#confirm"]() - return npairs.esc("") - end - else - return npairs.check_break_line_char() - end -end +-- MUtils.completion_confirm = function() +-- if vim.fn.pumvisible() ~= 0 then +-- if vim.fn.complete_info()["selected"] ~= -1 then +-- vim.fn["compe#confirm"]() +-- return npairs.esc("") +-- else +-- vim.api.nvim_select_popupmenu_item(0, false, false, {}) +-- vim.fn["compe#confirm"]() +-- return npairs.esc("") +-- end +-- else +-- return npairs.check_break_line_char() +-- end +-- end -MUtils.tab = function() - if vim.fn.pumvisible() ~= 0 then - return npairs.esc("") - else - if vim.fn["vsnip#available"](1) ~= 0 then - vim.fn.feedkeys(string.format('%c%c%c(vsnip-expand-or-jump)', 0x80, 253, 83)) - return npairs.esc("") - else - return npairs.esc("") - end - end -end +-- MUtils.tab = function() +-- if vim.fn.pumvisible() ~= 0 then +-- return npairs.esc("") +-- else +-- if vim.fn["vsnip#available"](1) ~= 0 then +-- vim.fn.feedkeys(string.format('%c%c%c(vsnip-expand-or-jump)', 0x80, 253, 83)) +-- return npairs.esc("") +-- else +-- return npairs.esc("") +-- end +-- end +-- end + +-- MUtils.s_tab = function() +-- if vim.fn.pumvisible() ~= 0 then +-- return npairs.esc("") +-- else +-- if vim.fn["vsnip#jumpable"](-1) ~= 0 then +-- vim.fn.feedkeys(string.format('%c%c%c(vsnip-jump-prev)', 0x80, 253, 83)) +-- return npairs.esc("") +-- else +-- return npairs.esc("") +-- end +-- end +-- end -MUtils.s_tab = function() - if vim.fn.pumvisible() ~= 0 then - return npairs.esc("") +-- -- Autocompletion and snippets +-- vim.api.nvim_set_keymap('i', '', 'v:lua.MUtils.completion_confirm()', {expr = true, noremap = true}) +-- -- imap("", "v:lua.MUtils.completion_confirm()", {expr = true, noremap = true}) +-- imap("", "v:lua.MUtils.tab()", {expr = true, noremap = true}) +-- imap("", "v:lua.MUtils.s_tab()", {expr = true, noremap = true}) + +local remap = vim.api.nvim_set_keymap +local npairs = require('nvim-autopairs') + +-- skip it, if you use another global object +_G.MUtils= {} + +vim.g.completion_confirm_key = "" +MUtils.completion_confirm=function() + if vim.fn.pumvisible() ~= 0 then + if vim.fn.complete_info()["selected"] ~= -1 then + return vim.fn["compe#confirm"](npairs.esc("")) else - if vim.fn["vsnip#jumpable"](-1) ~= 0 then - vim.fn.feedkeys(string.format('%c%c%c(vsnip-jump-prev)', 0x80, 253, 83)) - return npairs.esc("") - else - return npairs.esc("") - end + return npairs.esc("") end + else + return npairs.autopairs_cr() + end end --- Autocompletion and snippets -vim.api.nvim_set_keymap('i', '', 'v:lua.MUtils.completion_confirm()', {expr = true, noremap = true}) --- imap("", "v:lua.MUtils.completion_confirm()", {expr = true, noremap = true}) -imap("", "v:lua.MUtils.tab()", {expr = true, noremap = true}) -imap("", "v:lua.MUtils.s_tab()", {expr = true, noremap = true}) + +remap('i' , '','v:lua.MUtils.completion_confirm()', {expr = true , noremap = true}) -- cgit v1.2.3