From 347c6e100bcc5d7b5767de52aae58cd481a75169 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Sun, 18 Dec 2016 19:06:28 +0300 Subject: [PATCH] Fix for KT-14736 J2K Incorrect conversion of back ticks in javadoc {@code} tag #KT-14736 fixed --- .../jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt | 8 +++++++- j2k/testData/fileOrElement/docComments/quoted.java | 1 + j2k/testData/fileOrElement/docComments/quoted.kt | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt index 955c30ddb3e..13c734deb71 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt @@ -201,7 +201,13 @@ object IdeaDocCommentConverter : DocCommentConverter { "s", "del" -> MarkdownSpan.wrap("~~") - "code" -> MarkdownSpan.wrap("`") + "code" -> { + val innerText = tag.value.text.trim() + if (innerText.startsWith('`') && innerText.endsWith('`')) + MarkdownSpan("`` ", " ``") + else + MarkdownSpan.wrap("`") + } "a" -> { if (tag.getAttributeValue("docref") != null) { diff --git a/j2k/testData/fileOrElement/docComments/quoted.java b/j2k/testData/fileOrElement/docComments/quoted.java index 21fbd6123fc..95a404f2727 100644 --- a/j2k/testData/fileOrElement/docComments/quoted.java +++ b/j2k/testData/fileOrElement/docComments/quoted.java @@ -2,6 +2,7 @@ * Start. * Plain quote: 'quoted' * KT-13818: {@code 'quoted'} + * KT-14736: {@code `code quoted`} * Code: {@code someCode()} * Operators: {@code a > b} * String: {@code str = "String"} diff --git a/j2k/testData/fileOrElement/docComments/quoted.kt b/j2k/testData/fileOrElement/docComments/quoted.kt index 6aff7d614e9..b75cf867555 100644 --- a/j2k/testData/fileOrElement/docComments/quoted.kt +++ b/j2k/testData/fileOrElement/docComments/quoted.kt @@ -2,6 +2,7 @@ * Start. * Plain quote: 'quoted' * KT-13818: `'quoted'` + * KT-14736: `` `code quoted` `` * Code: `someCode()` * Operators: `a > b` * String: `str = "String"`