Fix for KT-13818

Javadoc @code conversion
This commit is contained in:
Simon Ogorodnik
2016-10-10 20:32:37 +03:00
parent 452b77692d
commit 1a7c507cc5
6 changed files with 51 additions and 4 deletions
@@ -22,6 +22,7 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.PsiFileFactory
import com.intellij.psi.PsiWhiteSpace
import com.intellij.psi.XmlRecursiveElementVisitor
import com.intellij.psi.html.HtmlTag
import com.intellij.psi.javadoc.PsiDocComment
import com.intellij.psi.javadoc.PsiDocTag
import com.intellij.psi.javadoc.PsiDocToken
@@ -132,10 +133,22 @@ object IdeaDocCommentConverter : DocCommentConverter {
super.visitElement(element)
val tokenType = element.node.elementType
if (tokenType == XmlTokenType.XML_DATA_CHARACTERS || tokenType == XmlTokenType.XML_CHAR_ENTITY_REF) {
appendPendingText()
markdownBuilder.append(element.text)
when (tokenType) {
XmlTokenType.XML_DATA_CHARACTERS -> {
appendPendingText()
markdownBuilder.append(element.text)
}
XmlTokenType.XML_CHAR_ENTITY_REF -> {
appendPendingText()
val grandParent = element.parent.parent
if(grandParent is HtmlTag && (grandParent.name == "code" || grandParent.name == "literal"))
markdownBuilder.append(StringUtil.unescapeXml(element.text))
else
markdownBuilder.append(element.text)
}
}
}
override fun visitXmlTag(tag: XmlTag) {