From 6d7960cd08b4bac28e925cf4e0f328ae574c3ad9 Mon Sep 17 00:00:00 2001 From: Sergey Evdokimov Date: Fri, 25 Mar 2011 15:30:54 +0300 Subject: [PATCH] Fix: IDEA-67064 Unwrap/Remove action should not show 'jsp:root' tag in 'to-remove' tag list. --- .../src/com/intellij/lang/xml/XmlUnwrapDescriptor.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/xml/impl/src/com/intellij/lang/xml/XmlUnwrapDescriptor.java b/xml/impl/src/com/intellij/lang/xml/XmlUnwrapDescriptor.java index fae085b71b74..539e29d6c9c9 100644 --- a/xml/impl/src/com/intellij/lang/xml/XmlUnwrapDescriptor.java +++ b/xml/impl/src/com/intellij/lang/xml/XmlUnwrapDescriptor.java @@ -25,15 +25,15 @@ import com.intellij.openapi.util.Pair; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.xml.XmlChildRole; import com.intellij.psi.xml.XmlTag; -import com.intellij.util.SmartList; -import java.util.Collections; +import java.util.ArrayList; import java.util.List; public class XmlUnwrapDescriptor implements UnwrapDescriptor { public List> collectUnwrappers(Project project, Editor editor, PsiFile file) { - List> result = new SmartList>(); + List> result = new ArrayList>(); int offset = editor.getCaretModel().getOffset(); PsiElement e1 = file.findElementAt(offset); @@ -49,7 +49,9 @@ public class XmlUnwrapDescriptor implements UnwrapDescriptor { PsiElement tag = PsiTreeUtil.getParentOfType(e1, XmlTag.class); while (tag != null) { - result.add(new Pair(tag, new XmlEnclosingTagUnwrapper())); + if (XmlChildRole.START_TAG_END_FINDER.findChild(tag.getNode()) != null) { // Exclude implicit tags suck as 'jsp:root' + result.add(new Pair(tag, new XmlEnclosingTagUnwrapper())); + } tag = PsiTreeUtil.getParentOfType(tag, XmlTag.class); }