From 5e45574d1140f0671d594d4415dce9780e342e5a Mon Sep 17 00:00:00 2001 From: ymc9 <104139426+ymc9@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:21:09 +0800 Subject: [PATCH] fix(vscode): more robustly handle VSCode document URI --- packages/schema/src/utils/ast-utils.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/schema/src/utils/ast-utils.ts b/packages/schema/src/utils/ast-utils.ts index 3a255228e..83a5a6a57 100644 --- a/packages/schema/src/utils/ast-utils.ts +++ b/packages/schema/src/utils/ast-utils.ts @@ -181,15 +181,19 @@ function resolveTransitiveImportsInternal( documents: LangiumDocuments, model: Model, initialModel = model, - visited: Set = new Set(), + visited: Set = new Set(), models: Set = new Set() ): Model[] { const doc = getDocument(model); - if (initialModel !== model) { + const initialDoc = getDocument(initialModel); + + if (initialDoc.uri.fsPath.toLowerCase() !== doc.uri.fsPath.toLowerCase()) { models.add(model); } - if (!visited.has(doc.uri)) { - visited.add(doc.uri); + + const normalizedPath = doc.uri.fsPath.toLowerCase(); + if (!visited.has(normalizedPath)) { + visited.add(normalizedPath); for (const imp of model.imports) { const importedModel = resolveImport(documents, imp); if (importedModel) {