diff --git a/src/main/java/de/marhali/easyi18n/editor/I18nKeyAnnotator.java b/src/main/java/de/marhali/easyi18n/editor/I18nKeyAnnotator.java deleted file mode 100644 index a79504e..0000000 --- a/src/main/java/de/marhali/easyi18n/editor/I18nKeyAnnotator.java +++ /dev/null @@ -1,49 +0,0 @@ -package de.marhali.easyi18n.editor; - -import com.intellij.lang.annotation.AnnotationHolder; -import com.intellij.lang.annotation.Annotator; -import com.intellij.lang.annotation.HighlightSeverity; -import com.intellij.openapi.project.Project; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiLiteralValue; - -import de.marhali.easyi18n.model.LocalizedNode; -import de.marhali.easyi18n.service.DataStore; -import de.marhali.easyi18n.service.SettingsService; - -import org.jetbrains.annotations.NotNull; - -/** - * Translation key annotator. - * @author marhali - */ -public class I18nKeyAnnotator implements Annotator { - - @Override - public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder) { - if(!(element instanceof PsiLiteralValue)) { - return; - } - - PsiLiteralValue literalValue = (PsiLiteralValue) element; - String value = literalValue.getValue() instanceof String ? (String) literalValue.getValue() : null; - - if(value == null) { - return; - } - - Project project = element.getProject(); - String previewLocale = SettingsService.getInstance(project).getState().getPreviewLocale(); - - LocalizedNode node = DataStore.getInstance(project).getTranslations().getNode(value); - - if(node == null) { // Unknown translation. Just ignore it - return; - } - - String tooltip = node.isLeaf() ? "I18n(" + previewLocale + ": " + node.getValue().get(previewLocale) + ")" - : "I18n ([])"; - - holder.newAnnotation(HighlightSeverity.INFORMATION, tooltip).create(); - } -} \ No newline at end of file diff --git a/src/main/java/de/marhali/easyi18n/editor/kotlin/KeyAnnotator.java b/src/main/java/de/marhali/easyi18n/editor/KeyAnnotator.java similarity index 96% rename from src/main/java/de/marhali/easyi18n/editor/kotlin/KeyAnnotator.java rename to src/main/java/de/marhali/easyi18n/editor/KeyAnnotator.java index a80bf06..b6b33bd 100644 --- a/src/main/java/de/marhali/easyi18n/editor/kotlin/KeyAnnotator.java +++ b/src/main/java/de/marhali/easyi18n/editor/KeyAnnotator.java @@ -1,4 +1,4 @@ -package de.marhali.easyi18n.editor.kotlin; +package de.marhali.easyi18n.editor; import com.intellij.lang.annotation.AnnotationHolder; import com.intellij.lang.annotation.HighlightSeverity; diff --git a/src/main/java/de/marhali/easyi18n/editor/generic/GenericKeyAnnotator.java b/src/main/java/de/marhali/easyi18n/editor/generic/GenericKeyAnnotator.java new file mode 100644 index 0000000..2d2f441 --- /dev/null +++ b/src/main/java/de/marhali/easyi18n/editor/generic/GenericKeyAnnotator.java @@ -0,0 +1,33 @@ +package de.marhali.easyi18n.editor.generic; + +import com.intellij.lang.annotation.AnnotationHolder; +import com.intellij.lang.annotation.Annotator; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiLiteralValue; + +import de.marhali.easyi18n.editor.KeyAnnotator; + +import org.jetbrains.annotations.NotNull; + +/** + * Translation key annotator. + * @author marhali + */ +public class GenericKeyAnnotator extends KeyAnnotator implements Annotator { + + @Override + public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder) { + if(!(element instanceof PsiLiteralValue)) { + return; + } + + PsiLiteralValue literalValue = (PsiLiteralValue) element; + String value = literalValue.getValue() instanceof String ? (String) literalValue.getValue() : null; + + if(value == null) { + return; + } + + annotate(value, element.getProject(), holder); + } +} \ No newline at end of file diff --git a/src/main/java/de/marhali/easyi18n/editor/kotlin/KotlinKeyAnnotator.java b/src/main/java/de/marhali/easyi18n/editor/kotlin/KotlinKeyAnnotator.java index 6dc68b9..4e9cfe3 100644 --- a/src/main/java/de/marhali/easyi18n/editor/kotlin/KotlinKeyAnnotator.java +++ b/src/main/java/de/marhali/easyi18n/editor/kotlin/KotlinKeyAnnotator.java @@ -4,6 +4,7 @@ import com.intellij.lang.annotation.AnnotationHolder; import com.intellij.lang.annotation.Annotator; import com.intellij.psi.PsiElement; +import de.marhali.easyi18n.editor.KeyAnnotator; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.psi.KtLiteralStringTemplateEntry; diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index d1d2292..8222d13 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -16,6 +16,6 @@ - + \ No newline at end of file