lua.lua 553 B

1234567891011121314151617181920212223
  1. local M = {}
  2. --- @param module string
  3. ---@return string
  4. function M.includeexpr(module)
  5. module = module:gsub('%.', '/')
  6. local root = vim.fs.root(vim.api.nvim_buf_get_name(0), 'lua') or vim.fn.getcwd()
  7. for _, fname in ipairs { module, vim.fs.joinpath(root, 'lua', module) } do
  8. for _, suf in ipairs { '.lua', '/init.lua' } do
  9. local path = fname .. suf
  10. if vim.uv.fs_stat(path) then
  11. return path
  12. end
  13. end
  14. end
  15. local modInfo = vim.loader.find(module)[1]
  16. return modInfo and modInfo.modpath or module
  17. end
  18. return M