Skip to content

Commit bfe6618

Browse files
authored
Merge pull request #2590 from zziger/master
Allow plugins to resolve require paths
2 parents c253708 + cf9e386 commit bfe6618

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

script/plugin.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ function m.showError(scp, err)
2727
client.showMessage('Error', lang.script('PLUGIN_RUNTIME_ERROR', scp:get('pluginPath'), err))
2828
end
2929

30-
---@alias plugin.event 'OnSetText' | 'OnTransformAst'
30+
---@alias plugin.event 'OnSetText' | 'OnTransformAst' | 'ResolveRequire'
3131

3232
---@param event plugin.event
3333
function m.dispatch(event, uri, ...)

script/workspace/require-path.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ local workspace = require "workspace"
55
local config = require 'config'
66
local scope = require 'workspace.scope'
77
local util = require 'utility'
8+
local plugin = require 'plugin'
89

910
---@class require-path
1011
local m = {}
@@ -181,6 +182,11 @@ function mt:searchUrisByRequireName(name)
181182
local searcherMap = {}
182183
local excludes = {}
183184

185+
local pluginSuccess, pluginResults = plugin.dispatch('ResolveRequire', self.scp.uri, name)
186+
if pluginSuccess and pluginResults ~= nil then
187+
return pluginResults
188+
end
189+
184190
for uri in files.eachFile(self.scp.uri) do
185191
if vm.isMetaFileRequireable(uri) then
186192
local metaName = vm.getMetaName(uri)

0 commit comments

Comments
 (0)