Result (char c, int prefixLength, Lookup lookup) { LookupElement item = lookup.getCurrentItem(); if (item instanceof LiveTemplateLookupElement && lookup.isCompletion()) { if (Character.isJavaIdentifierPart(c) || c == '%') return Result.ADD_TO_PREFIX; if (c == ((LiveTemplateLookupElement)item).getTemplateShortcut()) { return Result.SELECT_ITEM_AND_FINISH_LOOKUP; } return null; } if (item instanceof TemplateExpressionLookupElement) { if (Character.isJavaIdentifierPart(c)) return Result.ADD_TO_PREFIX; if (CodeInsightSettings.getInstance().isSelectAutopopupSuggestionsByChars()) { return null; } return Result.HIDE_LOOKUP; } return null; }