import com.intellij.psi.xml.XmlTag;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.text.CharArrayUtil;
+import com.intellij.xml.util.XmlUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
XmlTag tagAtCaret = PsiTreeUtil.getParentOfType(atCaret, XmlTag.class);
if (tagAtCaret != null) {
try {
- final ASTNode emptyTagEnd = XmlChildRole.EMPTY_TAG_END_FINDER.findChild(tagAtCaret.getNode());
- final ASTNode endTagEnd = XmlChildRole.START_TAG_END_FINDER.findChild(tagAtCaret.getNode());
- if (emptyTagEnd != null || endTagEnd != null) {
+ if (XmlUtil.isTagClosed(tagAtCaret)) {
return XmlZenCodingTemplate.startZenCoding(editor, psiFile);
}
return null;
}
+ public static boolean isTagClosed(@NotNull XmlTag tag) {
+ ASTNode node = tag.getNode();
+ assert node != null;
+ final ASTNode emptyTagEnd = XmlChildRole.EMPTY_TAG_END_FINDER.findChild(node);
+ final ASTNode endTagEnd = XmlChildRole.START_TAG_END_FINDER.findChild(node);
+ return emptyTagEnd != null || endTagEnd != null;
+ }
+
private static class XmlElementProcessor {
private final PsiElementProcessor processor;
private final PsiFile targetFile;