From cc2fcffc560fe8f6e3e8023e0a48d714e5604388 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Tue, 19 Apr 2022 17:36:35 +0530 Subject: [PATCH] nvim: after/plugin/snipcomp: Sync with upstream --- nvim/.config/nvim/after/plugin/snipcomp.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nvim/.config/nvim/after/plugin/snipcomp.lua b/nvim/.config/nvim/after/plugin/snipcomp.lua index af0847a..87e5783 100644 --- a/nvim/.config/nvim/after/plugin/snipcomp.lua +++ b/nvim/.config/nvim/after/plugin/snipcomp.lua @@ -33,12 +33,14 @@ end -- Set 'completefunc' or 'omnifunc' to 'v:lua.vim.luasnip.completefunc' to get -- completion. function vim.luasnip.completefunc(findstart, base) - local line_to_cursor = vim.fn.getline("."):sub(1, vim.fn.col(".")) + local line, col = vim.api.nvim_get_current_line(), vim.api.nvim_win_get_cursor(0)[2] + local line_to_cursor = line:sub(1, col) + if findstart == 1 then return vim.fn.match(line_to_cursor, '\\k*$') end - local snippets = vim.list_extend(vim.list_slice(luasnip.snippets.all), luasnip.snippets[vim.bo.filetype] or {}) + local snippets = vim.list_extend(vim.list_slice(luasnip.get_snippets("all")), luasnip.get_snippets(vim.bo.filetype)) snippets = vim.tbl_filter(snippetfilter(line_to_cursor, base), snippets) snippets = vim.tbl_map(snippet2completion, snippets) table.sort(snippets, function(s1, s2) return s1.word < s2.word end)