diff --git a/lua/luasnip/extras/init.lua b/lua/luasnip/extras/init.lua index c5167b8f7..bda9377e3 100644 --- a/lua/luasnip/extras/init.lua +++ b/lua/luasnip/extras/init.lua @@ -114,10 +114,13 @@ local function match(index, _match, _then, _else) end local function jump_to_snip(snip) - local meta_data = require("luasnip.session.snippet_collection").get_meta_data_by_snip_id(snip.id) + local meta_data = + require("luasnip.session.snippet_collection").get_meta_data_by_snip_id( + snip.id + ) local source = meta_data.source - if source then - vim.cmd("edit " .. source) + if source then + vim.cmd("edit " .. source) if snip.name then local feed_str = vim.api.nvim_replace_termcodes( "/" .. snip.name .. "", diff --git a/lua/luasnip/loaders/from_lua.lua b/lua/luasnip/loaders/from_lua.lua index c859a7796..c430b8128 100644 --- a/lua/luasnip/loaders/from_lua.lua +++ b/lua/luasnip/loaders/from_lua.lua @@ -83,7 +83,7 @@ local function load_files(ft, files, add_opts) ft, file_snippets, vim.tbl_extend("keep", { - source = file, + source = file, type = "snippets", key = "__snippets_" .. file, -- prevent refresh here, will be done outside loop. @@ -94,7 +94,7 @@ local function load_files(ft, files, add_opts) ft, file_autosnippets, vim.tbl_extend("keep", { - source = file, + source = file, type = "autosnippets", key = "__autosnippets_" .. file, -- prevent refresh here, will be done outside loop. diff --git a/lua/luasnip/session/snippet_collection.lua b/lua/luasnip/session/snippet_collection.lua index ac36552a5..55a9663fa 100644 --- a/lua/luasnip/session/snippet_collection.lua +++ b/lua/luasnip/session/snippet_collection.lua @@ -137,27 +137,23 @@ local by_id = setmetatable({}, { local snippets_meta_data = {} local snip_id_to_meta_map = {} - local function initialize_snippet_meta_data(opts) - -- If we use two funcs one for module and one for each snip then the following - -- block would obviously have to be modified to work with that - -- - -- config.store_snippets_data = { - -- get_module_module_data = function(opts) return { source = opts.source }, - -- for_each_snippet = function(ft, snip, opts) ... end - -- } - - - -- func / table + -- If we use two funcs one for module and one for each snip then the following + -- block would obviously have to be modified to work with that + -- + -- config.store_snippets_data = { + -- get_module_module_data = function(opts) return { source = opts.source }, + -- for_each_snippet = function(ft, snip, opts) ... end + -- } + + -- func / table if type(session.config.store_meta_data) == "function" then - -- NOTE: use function is still a bit wip - table.insert(snippets_meta_data, session.config.store_meta_data(opts)) + -- NOTE: use function is still a bit wip + table.insert(snippets_meta_data, session.config.store_meta_data(opts)) - - -- if bool + -- if bool elseif session.config.store_meta_data then - table.insert(snippets_meta_data, { source = opts.source }) - + table.insert(snippets_meta_data, { source = opts.source }) end end @@ -276,9 +272,8 @@ local current_id = 0 -- opts.source = path to snip module which is assigned in -- `from_lua.load` function M.add_snippets(snippets, opts) - - if session.config.store_meta_data then - initialize_snippet_meta_data(opts) + if session.config.store_meta_data then + initialize_snippet_meta_data(opts) end for ft, ft_snippets in pairs(snippets) do @@ -317,7 +312,7 @@ function M.add_snippets(snippets, opts) -- TODO: (wip) following line would store single snippet specific data -- we are not sure yet how this would be done but I leave it here -- for reference - -- snippets_meta_data[#snippets_meta_data].snippet_specific[snip.id] = session.config.store_meta_data.each_snippet(ft, snip, opts) + -- snippets_meta_data[#snippets_meta_data].snippet_specific[snip.id] = session.config.store_meta_data.each_snippet(ft, snip, opts) end end end @@ -361,7 +356,7 @@ function M.get_id_snippet(id) end function M.get_meta_data_by_snip_id(id) - return snippets_meta_data[snip_id_to_meta_map[id]] + return snippets_meta_data[snip_id_to_meta_map[id]] end return M