add kotlin support for key completion and modularize completion providers
This commit is contained in:
parent
6c0a0c21ce
commit
6f4f6aa92a
@ -1,18 +0,0 @@
|
||||
package de.marhali.easyi18n.editor;
|
||||
|
||||
import com.intellij.codeInsight.completion.CompletionContributor;
|
||||
import com.intellij.codeInsight.completion.CompletionType;
|
||||
import com.intellij.patterns.*;
|
||||
import com.intellij.psi.PsiLiteralValue;
|
||||
|
||||
/**
|
||||
* Show i18n key completion for literal values.
|
||||
* @author marhali
|
||||
*/
|
||||
public class I18nCompletionContributor extends CompletionContributor {
|
||||
|
||||
public I18nCompletionContributor() {
|
||||
extend(CompletionType.BASIC, PlatformPatterns.psiElement().inside(PsiLiteralValue.class),
|
||||
new I18nCompletionProvider());
|
||||
}
|
||||
}
|
@ -20,10 +20,12 @@ import java.util.List;
|
||||
* I18n translation key completion provider.
|
||||
* @author marhali
|
||||
*/
|
||||
public class I18nCompletionProvider extends CompletionProvider<CompletionParameters> {
|
||||
public class KeyCompletionProvider extends CompletionProvider<CompletionParameters> {
|
||||
|
||||
@Override
|
||||
protected void addCompletions(@NotNull CompletionParameters parameters, @NotNull ProcessingContext context, @NotNull CompletionResultSet result) {
|
||||
protected void addCompletions(@NotNull CompletionParameters parameters,
|
||||
@NotNull ProcessingContext context, @NotNull CompletionResultSet result) {
|
||||
|
||||
Project project = parameters.getOriginalFile().getProject();
|
||||
String previewLocale = SettingsService.getInstance(project).getState().getPreviewLocale();
|
||||
|
@ -10,7 +10,7 @@ import de.marhali.easyi18n.editor.KeyAnnotator;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* Translation key annotator.
|
||||
* Translation key annotator for generic languages which support {@link PsiLiteralValue}.
|
||||
* @author marhali
|
||||
*/
|
||||
public class GenericKeyAnnotator extends KeyAnnotator implements Annotator {
|
||||
|
@ -0,0 +1,19 @@
|
||||
package de.marhali.easyi18n.editor.generic;
|
||||
|
||||
import com.intellij.codeInsight.completion.CompletionContributor;
|
||||
import com.intellij.codeInsight.completion.CompletionType;
|
||||
import com.intellij.patterns.*;
|
||||
import com.intellij.psi.PsiLiteralValue;
|
||||
import de.marhali.easyi18n.editor.KeyCompletionProvider;
|
||||
|
||||
/**
|
||||
* Translation key completion for generic languages which support {@link PsiLiteralValue}.
|
||||
* @author marhali
|
||||
*/
|
||||
public class GenericKeyCompletionContributor extends CompletionContributor {
|
||||
|
||||
public GenericKeyCompletionContributor() {
|
||||
extend(CompletionType.BASIC, PlatformPatterns.psiElement().inside(PsiLiteralValue.class),
|
||||
new KeyCompletionProvider());
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package de.marhali.easyi18n.editor.kotlin;
|
||||
|
||||
import com.intellij.codeInsight.completion.CompletionContributor;
|
||||
import com.intellij.codeInsight.completion.CompletionType;
|
||||
import com.intellij.patterns.PlatformPatterns;
|
||||
|
||||
import de.marhali.easyi18n.editor.KeyCompletionProvider;
|
||||
import org.jetbrains.kotlin.psi.KtLiteralStringTemplateEntry;
|
||||
|
||||
/**
|
||||
* Kotlin specific translation key completion contributor.
|
||||
* @author marhali
|
||||
*/
|
||||
public class KotlinKeyCompletionContributor extends CompletionContributor {
|
||||
|
||||
public KotlinKeyCompletionContributor() {
|
||||
extend(CompletionType.BASIC, PlatformPatterns.psiElement().inside(KtLiteralStringTemplateEntry.class),
|
||||
new KeyCompletionProvider());
|
||||
}
|
||||
}
|
@ -1,5 +1,8 @@
|
||||
<idea-plugin>
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<annotator language="kotlin" implementationClass="de.marhali.easyi18n.editor.kotlin.KotlinKeyAnnotator" />
|
||||
|
||||
<completion.contributor language="kotlin"
|
||||
implementationClass="de.marhali.easyi18n.editor.kotlin.KotlinKeyCompletionContributor" />
|
||||
</extensions>
|
||||
</idea-plugin>
|
@ -14,7 +14,7 @@
|
||||
<projectService serviceImplementation="de.marhali.easyi18n.service.SettingsService" />
|
||||
|
||||
<completion.contributor language="any"
|
||||
implementationClass="de.marhali.easyi18n.editor.I18nCompletionContributor" />
|
||||
implementationClass="de.marhali.easyi18n.editor.generic.GenericKeyCompletionContributor" />
|
||||
|
||||
<annotator language="" implementationClass="de.marhali.easyi18n.editor.generic.GenericKeyAnnotator" />
|
||||
</extensions>
|
||||
|
Loading…
x
Reference in New Issue
Block a user