package ee.edio.garmin.completion; import com.intellij.codeInsight.completion.*; import com.intellij.codeInsight.lookup.LookupElementBuilder; import com.intellij.util.ProcessingContext; import ee.edio.garmin.MonkeyUtil; import ee.edio.garmin.psi.MonkeyTypes; import org.jetbrains.annotations.NotNull; import java.util.Set; import static com.intellij.patterns.PlatformPatterns.psiElement; public class MonkeyCompletionContributor extends CompletionContributor { public MonkeyCompletionContributor() { extend(CompletionType.BASIC, psiElement().andOr(psiElement(MonkeyTypes.IDENTIFIER)), new CompletionProvider<CompletionParameters>() { @Override protected void addCompletions(@NotNull CompletionParameters parameters, final ProcessingContext context, @NotNull CompletionResultSet result) { Set<String> suggestedKeywords = MonkeyUtil.getKeywords(); for (String keyword : suggestedKeywords) { result.addElement(LookupElementBuilder.create(keyword)); } } }); } }