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; }