diff --git a/src/main/java/de/marhali/easyi18n/assistance/intention/XmlTranslationIntention.java b/src/main/java/de/marhali/easyi18n/assistance/intention/XmlTranslationIntention.java new file mode 100644 index 0000000..f02ee0b --- /dev/null +++ b/src/main/java/de/marhali/easyi18n/assistance/intention/XmlTranslationIntention.java @@ -0,0 +1,27 @@ +package de.marhali.easyi18n.assistance.intention; + +import com.intellij.openapi.util.TextRange; +import com.intellij.psi.PsiElement; +import com.intellij.psi.xml.XmlAttributeValue; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Xml specific translation key intention. + * @author adeptius + */ +public class XmlTranslationIntention extends AbstractTranslationIntention { + @Override + protected @Nullable String extractText(@NotNull PsiElement element) { + if(!(element.getParent() instanceof XmlAttributeValue)) { + return null; + } + + return ((XmlAttributeValue) element.getParent()).getValue(); + } + + @Override + @NotNull TextRange convertRange(@NotNull TextRange input) { + return new TextRange(input.getStartOffset() + 1, input.getEndOffset() - 1); + } +} diff --git a/src/main/resources/META-INF/de.marhali.easyi18n-xml.xml b/src/main/resources/META-INF/de.marhali.easyi18n-xml.xml index d35eb65..4243441 100644 --- a/src/main/resources/META-INF/de.marhali.easyi18n-xml.xml +++ b/src/main/resources/META-INF/de.marhali.easyi18n-xml.xml @@ -21,5 +21,8 @@ implementationClass="de.marhali.easyi18n.assistance.completion.XmlCompletionContributor" /> + + de.marhali.easyi18n.assistance.intention.XmlTranslationIntention + \ No newline at end of file