fix luasnip complete and move it to reasonable place (#235)
Co-authored-by: curtain <kaleidoscope@163.com>
This commit is contained in:
		
							parent
							
								
									f884caa606
								
							
						
					
					
						commit
						f832195a81
					
				| @ -62,67 +62,6 @@ M.comment_nvim = function() | ||||
|     map("v", m, ":CommentToggle<CR>", 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 "<C-n>" | ||||
|     elseif check_back_space() then | ||||
|         return t "<Tab>" | ||||
|     else | ||||
|         return vim.fn["compe#complete"]() | ||||
|     end | ||||
| end | ||||
| 
 | ||||
| _G.s_tab_complete = function() | ||||
|     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 | ||||
| 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"]("<CR>") | ||||
|         end | ||||
|     end | ||||
|     return npairs.check_break_line_char() | ||||
| end | ||||
| 
 | ||||
| --  compe mappings | ||||
| map("i", "<Tab>", "v:lua.tab_complete()", {expr = true}) | ||||
| map("s", "<Tab>", "v:lua.tab_complete()", {expr = true}) | ||||
| map("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true}) | ||||
| map("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true}) | ||||
| map("i", "<CR>", "v:lua.completions()", {expr = true}) | ||||
| 
 | ||||
| M.nvimtree = function() | ||||
|     local m = user_map.nvimtree.treetoggle | ||||
| 
 | ||||
|  | ||||
| @ -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 "<C-n>" | ||||
|     elseif luasnip and luasnip.expand_or_jumpable() then | ||||
|         return t "<Plug>luasnip-expand-or-jump" | ||||
|     elseif check_back_space() then | ||||
|         return t "<Tab>" | ||||
|     else | ||||
|         return vim.fn['compe#complete']() | ||||
|     end | ||||
| end | ||||
| _G.s_tab_complete = function() | ||||
|     if vim.fn.pumvisible() == 1 then | ||||
|         return t "<C-p>" | ||||
|     elseif luasnip and luasnip.jumpable(-1) then | ||||
|         return t "<Plug>luasnip-jump-prev" | ||||
|     else | ||||
|         return t "<S-Tab>" | ||||
|     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"]("<CR>") | ||||
|         end | ||||
|     end | ||||
|     return npairs.check_break_line_char() | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
| vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true}) | ||||
| 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}) | ||||
| vim.api.nvim_set_keymap("i", "<CR>", "v:lua.completions()", {expr = true}) | ||||
| 
 | ||||
| luasnip.config.set_config( | ||||
|     { | ||||
|         history = true, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user