diff --git a/src/main/java/de/marhali/easyi18n/assistance/folding/XmlFoldingBuilder.java b/src/main/java/de/marhali/easyi18n/assistance/folding/XmlFoldingBuilder.java new file mode 100644 index 0000000..f663986 --- /dev/null +++ b/src/main/java/de/marhali/easyi18n/assistance/folding/XmlFoldingBuilder.java @@ -0,0 +1,29 @@ +package de.marhali.easyi18n.assistance.folding; + +import com.intellij.lang.ASTNode; +import com.intellij.openapi.util.Pair; +import com.intellij.psi.PsiElement; +import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.xml.XmlAttributeValue; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.stream.Collectors; + +public class XmlFoldingBuilder extends AbstractFoldingBuilder { + @Override + @NotNull List> extractRegions(@NotNull PsiElement root) { + return PsiTreeUtil.findChildrenOfType(root, XmlAttributeValue.class) + .stream() + .map((attributeValue -> Pair.pair(attributeValue.getValue(), (PsiElement) attributeValue))) + .collect(Collectors.toList()); + } + + @Override + @Nullable String extractText(@NotNull ASTNode node) { + XmlAttributeValue attributeValue = node.getPsi(XmlAttributeValue.class); + return attributeValue.getValue(); + } +} diff --git a/src/main/resources/META-INF/de.marhali.easyi18n-html.xml b/src/main/resources/META-INF/de.marhali.easyi18n-xml.xml similarity index 90% rename from src/main/resources/META-INF/de.marhali.easyi18n-html.xml rename to src/main/resources/META-INF/de.marhali.easyi18n-xml.xml index af05de4..3e472b0 100644 --- a/src/main/resources/META-INF/de.marhali.easyi18n-html.xml +++ b/src/main/resources/META-INF/de.marhali.easyi18n-xml.xml @@ -2,7 +2,7 @@ org.jetbrains.kotlin JavaScript - com.intellij.modules.xml + com.intellij.modules.xml com.intellij.java com.jetbrains.php