diff --git a/changelog.md b/changelog.md index f87ef3e54..3b605d2cf 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,7 @@ ## Unreleased +* `CHG` Modified the `ResolveRequire` function to pass the source URI as a third argument. ## 3.17.1 `2026-01-20` diff --git a/script/workspace/require-path.lua b/script/workspace/require-path.lua index b0e8cb452..3ab414962 100644 --- a/script/workspace/require-path.lua +++ b/script/workspace/require-path.lua @@ -149,9 +149,10 @@ end --- 查找符合指定require name的所有uri ---@param name string +---@param suri uri ---@return uri[] ---@return table? -function mt:searchUrisByRequireName(name) +function mt:searchUrisByRequireName(name, suri) local vm = require 'vm' local searchers = config.get(self.scp.uri, 'Lua.runtime.path') local strict = config.get(self.scp.uri, 'Lua.runtime.pathStrict') @@ -161,7 +162,7 @@ function mt:searchUrisByRequireName(name) local searcherMap = {} local excludes = {} - local pluginSuccess, pluginResults = plugin.dispatch('ResolveRequire', self.scp.uri, name) + local pluginSuccess, pluginResults = plugin.dispatch('ResolveRequire', self.scp.uri, name, suri) if pluginSuccess and pluginResults ~= nil then return pluginResults end @@ -226,7 +227,7 @@ function mt:findUrisByRequireName(suri, name) end local cache = self.requireCache[name] if not cache then - local results, searcherMap = self:searchUrisByRequireName(name) + local results, searcherMap = self:searchUrisByRequireName(name, suri) cache = { results = results, searcherMap = searcherMap,