From 48da1d2d859a0d1273fa384f2dae89581acc545d Mon Sep 17 00:00:00 2001 From: Piotr Tomiak Date: Thu, 23 Oct 2025 15:04:18 +0200 Subject: [PATCH] [html] WEB-75367 Missing documentation for tag attributes during code completion (cherry picked from commit 61216c93d26869218483c6ad8c779d601020aecd) IJ-CR-179966 GitOrigin-RevId: e7bb7e549addb19e723065656b20fac9042a3ced --- .../HtmlDocumentationProvider.java | 2 ++ .../intellij/html/HtmlDocumentationTest.java | 11 +++++++++ ...eQuickDocAtTheEndOfFile#popovertarget.html | 14 +++++++++++ ...DocAtTheEndOfFile#popovertargetaction.html | 24 +++++++++++++++++++ .../attributeQuickDocAtTheEndOfFile.items.txt | 2 ++ 5 files changed, 53 insertions(+) create mode 100644 xml/tests/testData/documentation/attributeQuickDocAtTheEndOfFile#popovertarget.html create mode 100644 xml/tests/testData/documentation/attributeQuickDocAtTheEndOfFile#popovertargetaction.html create mode 100644 xml/tests/testData/documentation/attributeQuickDocAtTheEndOfFile.items.txt diff --git a/xml/impl/src/com/intellij/xml/util/documentation/HtmlDocumentationProvider.java b/xml/impl/src/com/intellij/xml/util/documentation/HtmlDocumentationProvider.java index 9829ade9d343..c9b6afb67b01 100644 --- a/xml/impl/src/com/intellij/xml/util/documentation/HtmlDocumentationProvider.java +++ b/xml/impl/src/com/intellij/xml/util/documentation/HtmlDocumentationProvider.java @@ -251,6 +251,8 @@ public class HtmlDocumentationProvider implements DocumentationProvider { PsiElement prevSibling = context.getPrevSibling(); if (prevSibling instanceof XmlTag) { return (XmlTag)prevSibling; + } else if (prevSibling instanceof XmlDocument) { + context = PsiTreeUtil.prevLeaf(context); } } diff --git a/xml/tests/src/com/intellij/html/HtmlDocumentationTest.java b/xml/tests/src/com/intellij/html/HtmlDocumentationTest.java index 20ea47b78acc..164a40284535 100644 --- a/xml/tests/src/com/intellij/html/HtmlDocumentationTest.java +++ b/xml/tests/src/com/intellij/html/HtmlDocumentationTest.java @@ -24,6 +24,8 @@ import com.intellij.testFramework.fixtures.BasePlatformTestCase; import com.intellij.polySymbols.testFramework.WebTestUtil; import org.jetbrains.annotations.NotNull; +import java.util.Collections; + public class HtmlDocumentationTest extends BasePlatformTestCase { public void testQuickDocumentationHtml5Tag() { doTest(""" @@ -141,6 +143,15 @@ public class HtmlDocumentationTest extends BasePlatformTestCase { ); } + public void testAttributeQuickDocAtTheEndOfFile() { + myFixture.configureByText("attributeQuickDocAtTheEndOfFile.html", "