/* * Copyright 2013 Guidewire Software, Inc. */ package gw.plugin.ij.completion; import com.google.common.collect.ImmutableSet; import com.intellij.codeInsight.AutoPopupController; import com.intellij.codeInsight.editorActions.TypedHandlerDelegate; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Condition; import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; import java.util.Set; public class GosuTypedActionHandler extends TypedHandlerDelegate { private static final Set<Character> INVOCATION_CHARS = ImmutableSet.of('#', ':', '$', '<'); @NotNull @Override public Result checkAutoPopup(char charTyped, Project project, Editor editor, PsiFile file) { if (INVOCATION_CHARS.contains(charTyped)) { AutoPopupController.getInstance(project).autoPopupMemberLookup(editor, new Condition<PsiFile>() { public boolean value(final PsiFile file) { return true; } }); return Result.STOP; } return Result.CONTINUE; } }