From f832195a8138793f823e9052ad1e9a9d3a466292 Mon Sep 17 00:00:00 2001 From: curtain <1410768946@qq.com> Date: Fri, 13 Aug 2021 12:35:31 +0800 Subject: [PATCH] fix luasnip complete and move it to reasonable place (#235) Co-authored-by: curtain --- lua/mappings.lua | 61 ----------------------------------------- lua/plugins/luasnip.lua | 61 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/lua/mappings.lua b/lua/mappings.lua index b1f16c9..5cf0634 100644 --- a/lua/mappings.lua +++ b/lua/mappings.lua @@ -62,67 +62,6 @@ M.comment_nvim = function() map("v", m, ":CommentToggle", opt) end --- compe stuff -local t = function(str) - return vim.api.nvim_replace_termcodes(str, true, true, true) -end - -local check_back_space = function() - local col = vim.fn.col(".") - 1 - if col == 0 or vim.fn.getline("."):sub(col, col):match("%s") then - return true - else - return false - end -end - -_G.tab_complete = function() - if vim.fn.pumvisible() == 1 then - return t "" - elseif check_back_space() then - return t "" - else - return vim.fn["compe#complete"]() - end -end - -_G.s_tab_complete = function() - if vim.fn.pumvisible() == 1 then - return t "" - elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then - return t "(vsnip-jump-prev)" - else - return t "" - end -end - -function _G.completions() - local npairs - if - not pcall( - function() - npairs = require "nvim-autopairs" - end - ) - then - return - end - - if vim.fn.pumvisible() == 1 then - if vim.fn.complete_info()["selected"] ~= -1 then - return vim.fn["compe#confirm"]("") - end - end - return npairs.check_break_line_char() -end - --- compe mappings -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", "", "v:lua.completions()", {expr = true}) - M.nvimtree = function() local m = user_map.nvimtree.treetoggle diff --git a/lua/plugins/luasnip.lua b/lua/plugins/luasnip.lua index dc60d0a..bd7ee39 100644 --- a/lua/plugins/luasnip.lua +++ b/lua/plugins/luasnip.lua @@ -3,6 +3,67 @@ if not present then return end +local t = function(str) + return vim.api.nvim_replace_termcodes(str, true, true, true) +end + +local check_back_space = function() + local col = vim.fn.col('.') - 1 + if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then + return true + else + return false + end +end + +_G.tab_complete = function() + if vim.fn.pumvisible() == 1 then + return t "" + elseif luasnip and luasnip.expand_or_jumpable() then + return t "luasnip-expand-or-jump" + elseif check_back_space() then + return t "" + else + return vim.fn['compe#complete']() + end +end +_G.s_tab_complete = function() + if vim.fn.pumvisible() == 1 then + return t "" + elseif luasnip and luasnip.jumpable(-1) then + return t "luasnip-jump-prev" + else + return t "" + end +end + +_G.completions = function() + local npairs + if + not pcall( + function() + npairs = require "nvim-autopairs" + end + ) + then + return + end + + if vim.fn.pumvisible() == 1 then + if vim.fn.complete_info()["selected"] ~= -1 then + return vim.fn["compe#confirm"]("") + end + end + return npairs.check_break_line_char() +end + + +vim.api.nvim_set_keymap("i", "", "v:lua.tab_complete()", {expr = true}) +vim.api.nvim_set_keymap("s", "", "v:lua.tab_complete()", {expr = true}) +vim.api.nvim_set_keymap("i", "", "v:lua.s_tab_complete()", {expr = true}) +vim.api.nvim_set_keymap("s", "", "v:lua.s_tab_complete()", {expr = true}) +vim.api.nvim_set_keymap("i", "", "v:lua.completions()", {expr = true}) + luasnip.config.set_config( { history = true,