From 66b68f8453d98dbb3197926e0ad96764a4513ca2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9C=80=E8=90=8C=E5=B0=8F=E6=B1=90?= <sumneko@hotmail.com>
Date: Mon, 23 Aug 2021 17:07:24 +0800
Subject: [PATCH] only check one result

---
 .../core/diagnostics/different-requires.lua   |  4 ++--
 test/crossfile/diagnostic.lua                 | 19 +++++++++++++++++++
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/script/core/diagnostics/different-requires.lua b/script/core/diagnostics/different-requires.lua
index 5b86d8def..909342f44 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 3d4eb5523..a430cb4ed 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"',
+    },
+}
-- 
GitLab