From 6e5612349914769780d4c5849c25956a165f24bb Mon Sep 17 00:00:00 2001 From: azerr Date: Thu, 7 Nov 2024 11:05:29 +0100 Subject: [PATCH] Find included template from project dependency Signed-off-by: azerr --- .../com/redhat/qute/project/QuteProject.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/qute.ls/com.redhat.qute.ls/src/main/java/com/redhat/qute/project/QuteProject.java b/qute.ls/com.redhat.qute.ls/src/main/java/com/redhat/qute/project/QuteProject.java index 4a657887b..e09d403d4 100644 --- a/qute.ls/com.redhat.qute.ls/src/main/java/com/redhat/qute/project/QuteProject.java +++ b/qute.ls/com.redhat.qute.ls/src/main/java/com/redhat/qute/project/QuteProject.java @@ -262,9 +262,13 @@ public List
findSectionsByTag(String tag) { } private QuteTextDocument findDocumentByTemplateId(String templateId) { + // 1. Try to get the template from the Qute project if (templateId.indexOf('.') != -1) { // ex: base.html - return documents.get(templateId); + QuteTextDocument document = documents.get(templateId); + if (document != null) { + return document; + } } // ex : base for (String variant : getTemplateVariants()) { @@ -274,6 +278,19 @@ private QuteTextDocument findDocumentByTemplateId(String templateId) { return document; } } + if (!getProjectDependencies().isEmpty()) { + // 2. The Qute project have some project dependencies, try to get a valid from + // those dependencies + for (QuteProject projectDependency : getProjectDependencies()) { + if (projectDependency != null) { + QuteTextDocument documentFromDependency = projectDependency.findDocumentByTemplateId(templateId); + if (documentFromDependency != null) { + return documentFromDependency; + } + } + } + } + return null; }