|
@@ -0,0 +1,35 @@
|
|
|
+local M = {}
|
|
|
+local utils = require "lvim.utils"
|
|
|
+local paths = {}
|
|
|
+
|
|
|
+function M.gen_setup_snips()
|
|
|
+ local ls = require "luasnip"
|
|
|
+ local lua_snippets = {
|
|
|
+ -- ls.parser.parse_snippet("cmp", utils.r_inspect_settings(lvim.builtin.cmp, "lvim.builtin.cmp", 10000, ".")),
|
|
|
+ -- ls.parser.parse_snippet("lir", utils.r_inspect_settings(lvim.builtin.lir, "lvim.builtin.lir", 10000, ".")),
|
|
|
+ }
|
|
|
+ for i, v in pairs(lvim.builtin) do
|
|
|
+ lua_snippets[#lua_snippets + 1] =
|
|
|
+ ls.parser.parse_snippet("lvim.builtin." .. i, utils.r_inspect_settings(v, "lvim.builtin." .. i, 10000, "."))
|
|
|
+ end
|
|
|
+ ls.add_snippets("lua", lua_snippets)
|
|
|
+end
|
|
|
+
|
|
|
+function M.setup()
|
|
|
+ if lvim.builtin.luasnip.sources.friendly_snippets then
|
|
|
+ paths[#paths + 1] = utils.join_paths(get_runtime_dir(), "site", "pack", "lazy", "opt", "friendly-snippets")
|
|
|
+ end
|
|
|
+ local user_snippets = utils.join_paths(get_config_dir(), "snippets")
|
|
|
+ if utils.is_directory(user_snippets) then
|
|
|
+ paths[#paths + 1] = user_snippets
|
|
|
+ end
|
|
|
+ require("luasnip.loaders.from_lua").lazy_load()
|
|
|
+ require("luasnip.loaders.from_vscode").lazy_load {
|
|
|
+ paths = paths,
|
|
|
+ }
|
|
|
+ require("luasnip.loaders.from_snipmate").lazy_load()
|
|
|
+
|
|
|
+ M.gen_setup_snips()
|
|
|
+end
|
|
|
+
|
|
|
+return M
|