remove js usage on non-js-compliant platforms

Resolves #344
This commit is contained in:
marhali 2024-04-13 21:22:25 +02:00
parent 4475823cdc
commit 39ed8f4d42
3 changed files with 31 additions and 2 deletions

View File

@ -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<Pair<String, PsiElement>> 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();
}
}

View File

@ -2,7 +2,7 @@
<extensions defaultExtensionNs="com.intellij"> <extensions defaultExtensionNs="com.intellij">
<lang.foldingBuilder <lang.foldingBuilder
language="HTML" language="HTML"
implementationClass="de.marhali.easyi18n.assistance.folding.JsFoldingBuilder" implementationClass="de.marhali.easyi18n.assistance.folding.XmlFoldingBuilder"
/> />
<lang.documentationProvider <lang.documentationProvider

View File

@ -11,7 +11,7 @@
<depends optional="true" config-file="de.marhali.easyi18n-kotlin.xml">org.jetbrains.kotlin</depends> <depends optional="true" config-file="de.marhali.easyi18n-kotlin.xml">org.jetbrains.kotlin</depends>
<depends optional="true" config-file="de.marhali.easyi18n-javascript.xml">JavaScript</depends> <depends optional="true" config-file="de.marhali.easyi18n-javascript.xml">JavaScript</depends>
<depends optional="true" config-file="de.marhali.easyi18n-html.xml">com.intellij.modules.xml</depends> <depends optional="true" config-file="de.marhali.easyi18n-xml.xml">com.intellij.modules.xml</depends>
<depends optional="true" config-file="de.marhali.easyi18n-java.xml">com.intellij.java</depends> <depends optional="true" config-file="de.marhali.easyi18n-java.xml">com.intellij.java</depends>
<depends optional="true" config-file="de.marhali.easyi18n-php.xml">com.jetbrains.php</depends> <depends optional="true" config-file="de.marhali.easyi18n-php.xml">com.jetbrains.php</depends>