Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Unreleased
<!-- Add all new changes here. They will be moved under a version at release -->
* `CHG` Modified the `ResolveRequire` function to pass the source URI as a third argument.

## 3.17.1
`2026-01-20`
Expand Down
7 changes: 4 additions & 3 deletions script/workspace/require-path.lua
Original file line number Diff line number Diff line change
Expand Up @@ -149,9 +149,10 @@ end

--- 查找符合指定require name的所有uri
---@param name string
---@param suri uri
---@return uri[]
---@return table<uri, string>?
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')
Expand All @@ -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
Expand Down Expand Up @@ -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,
Expand Down
Loading