LunarVim/lua/lv-autopairs/init.lua

100 lines
3 KiB
Lua
Raw Normal View History

2021-04-27 07:17:29 +02:00
-- require('nvim-autopairs').setup()
-- local npairs = require('nvim-autopairs')
2021-03-29 16:54:03 +02:00
2021-04-27 07:17:29 +02:00
-- 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
2021-03-29 16:54:03 +02:00
2021-04-27 07:17:29 +02:00
-- _G.MUtils = {}
2021-03-29 16:54:03 +02:00
2021-04-27 07:17:29 +02:00
-- -- 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("<c-y>")
-- return npairs.esc("")
-- else
-- vim.defer_fn(function()
-- vim.fn["compe#confirm"]("<cr>")
-- end, 20)
-- return npairs.esc("<c-n>")
-- end
-- else
-- return npairs.check_break_line_char()
-- end
-- end
-- -- TEST
2021-03-29 21:30:07 +02:00
2021-04-27 07:17:29 +02:00
-- 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("<c-n>")
-- end
-- else
-- return npairs.check_break_line_char()
-- end
-- end
2021-03-29 16:54:03 +02:00
2021-04-27 07:17:29 +02:00
-- MUtils.tab = function()
-- if vim.fn.pumvisible() ~= 0 then
-- return npairs.esc("<C-n>")
-- 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("<Tab>")
-- end
-- end
-- end
-- MUtils.s_tab = function()
-- if vim.fn.pumvisible() ~= 0 then
-- return npairs.esc("<C-p>")
-- 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("<C-h>")
-- end
-- end
-- end
2021-03-29 16:54:03 +02:00
2021-04-27 07:17:29 +02:00
-- -- Autocompletion and snippets
-- vim.api.nvim_set_keymap('i', '<CR>', 'v:lua.MUtils.completion_confirm()', {expr = true, noremap = true})
-- -- imap("<CR>", "v:lua.MUtils.completion_confirm()", {expr = true, noremap = true})
-- imap("<Tab>", "v:lua.MUtils.tab()", {expr = true, noremap = true})
-- imap("<S-Tab>", "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("<cr>"))
2021-03-29 16:54:03 +02:00
else
2021-04-27 07:17:29 +02:00
return npairs.esc("<cr>")
2021-03-29 16:54:03 +02:00
end
2021-04-27 07:17:29 +02:00
else
return npairs.autopairs_cr()
end
2021-03-29 16:54:03 +02:00
end
2021-04-27 07:17:29 +02:00
remap('i' , '<CR>','v:lua.MUtils.completion_confirm()', {expr = true , noremap = true})