luasnip.lua 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. local M = {}
  2. local utils = require "lvim.utils"
  3. local paths = {}
  4. function M.gen_setup_snips()
  5. local ls = require "luasnip"
  6. local lua_snippets = {
  7. -- ls.parser.parse_snippet("cmp", utils.r_inspect_settings(lvim.builtin.cmp, "lvim.builtin.cmp", 10000, ".")),
  8. -- ls.parser.parse_snippet("lir", utils.r_inspect_settings(lvim.builtin.lir, "lvim.builtin.lir", 10000, ".")),
  9. }
  10. for i, v in pairs(lvim.builtin) do
  11. lua_snippets[#lua_snippets + 1] =
  12. ls.parser.parse_snippet("lvim.builtin." .. i, utils.r_inspect_settings(v, "lvim.builtin." .. i, 10000, "."))
  13. end
  14. ls.add_snippets("lua", lua_snippets)
  15. end
  16. function M.setup()
  17. if lvim.builtin.luasnip.sources.friendly_snippets then
  18. paths[#paths + 1] = utils.join_paths(get_runtime_dir(), "site", "pack", "lazy", "opt", "friendly-snippets")
  19. end
  20. local user_snippets = utils.join_paths(get_config_dir(), "snippets")
  21. if utils.is_directory(user_snippets) then
  22. paths[#paths + 1] = user_snippets
  23. end
  24. require("luasnip.loaders.from_lua").lazy_load()
  25. require("luasnip.loaders.from_vscode").lazy_load {
  26. paths = paths,
  27. }
  28. require("luasnip.loaders.from_snipmate").lazy_load()
  29. M.gen_setup_snips()
  30. end
  31. return M