From be915ae44380d935c3c635d3b19d105ff261ee45 Mon Sep 17 00:00:00 2001 From: Louis Vignier Date: Thu, 25 Sep 2025 13:12:09 +0200 Subject: [PATCH] [javadoc] Do not format PsiMarkdownCodeBlock-s #IDEA-371809 Fixed GitOrigin-RevId: 225e1fd572a073c3c6257aa593f5adb42b4dcebb --- .../psi/formatter/java/AbstractJavaBlock.java | 3 ++- .../formatter/java/JavadocFormatterTest.kt | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/java/java-frontback-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java b/java/java-frontback-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java index 5a25e923ad75..95a4729fe78b 100644 --- a/java/java-frontback-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java +++ b/java/java-frontback-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java @@ -19,6 +19,7 @@ import com.intellij.psi.impl.source.codeStyle.ShiftIndentInsideHelper; import com.intellij.psi.impl.source.tree.*; import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil; import com.intellij.psi.impl.source.tree.java.ClassElement; +import com.intellij.psi.javadoc.PsiMarkdownCodeBlock; import com.intellij.psi.jsp.JspClassLevelDeclarationStatementType; import com.intellij.psi.jsp.JspCodeBlockType; import com.intellij.psi.tree.IElementType; @@ -204,7 +205,7 @@ public abstract class AbstractJavaBlock extends AbstractBlock implements JavaBlo InjectedLanguageUtil.hasInjections((PsiLanguageInjectionHost)child)) { return new CommentWithInjectionBlock(child, wrap, alignment, indent, settings, javaSettings, formattingMode); } - if (child instanceof LeafElement) { + if (child instanceof LeafElement || child instanceof PsiMarkdownCodeBlock) { if (child.getElementType() == JavaTokenType.C_STYLE_COMMENT) { return new CStyleCommentBlock(child, actualIndent); } diff --git a/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavadocFormatterTest.kt b/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavadocFormatterTest.kt index a0761c97d328..f56a4f0d17fb 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavadocFormatterTest.kt +++ b/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavadocFormatterTest.kt @@ -2307,4 +2307,27 @@ public class Test { } """.trimIndent()) } + + fun testMarkdownCodeBlocksNotAffected() { + settings.apply { + WRAP_COMMENTS = true + RIGHT_MARGIN = 120 + } + + doTextTest(""" + /// only this should be reformated + /// ```java + /// @Annotation public static final @Annotation2 List myList = List.of("a", "b", "c"); + /// ``` + public class Foo { + } + """.trimIndent(), """ + /// only this should be reformated + /// ```java + /// @Annotation public static final @Annotation2 List myList = List.of("a", "b", "c"); + /// ``` + public class Foo { + } + """.trimIndent()) + } } \ No newline at end of file