diff --git a/script/core/diagnostics/different-requires.lua b/script/core/diagnostics/different-requires.lua index 5b86d8defd5f2afd8d875d4948b2e0362d59eaca..909342f44250cbb247eef6cf80d580e1597b3e65 100644 --- a/script/core/diagnostics/different-requires.lua +++ b/script/core/diagnostics/different-requires.lua @@ -22,10 +22,10 @@ return function (uri, callback) end local literal = arg1[1] local results = ws.findUrisByRequirePath(literal) - local result = results and results[1] - if not result then + if not results or #results ~= 1 then return end + local result = results[1] if not files.isLua(result) then return end diff --git a/test/crossfile/diagnostic.lua b/test/crossfile/diagnostic.lua index 3d4eb552326d965cf31b4f89e418f66f02ff45f3..a430cb4ed189c529ee00f9087c0ba581319c562e 100644 --- a/test/crossfile/diagnostic.lua +++ b/test/crossfile/diagnostic.lua @@ -135,3 +135,22 @@ TEST { content = 'require "f.a"', }, } + +TEST { + { + path = 'a/init.lua', + content = '', + }, + { + path = 'f/a.lua', + content = '', + }, + { + path = 'b.lua', + content = 'require "a"', + }, + { + path = 'c.lua', + content = 'require "f.a"', + }, +}