List<AnAction> (@NotNull Editor editor, @NotNull PsiFile file, @NotNull Set<? super Character> usedMnemonicsSet) { TemplateActionContext templateActionContext = TemplateActionContext.surrounding(file, editor); List<CustomLiveTemplate> customTemplates = TemplateManagerImpl.listApplicableCustomTemplates(templateActionContext); List<TemplateImpl> templates = TemplateManagerImpl.listApplicableTemplates(templateActionContext); if (templates.isEmpty() && customTemplates.isEmpty()) { return Collections.emptyList(); } List<AnAction> group = new ArrayList<>(); for (TemplateImpl template : templates) { group.add(new InvokeTemplateAction(template, editor, file.getProject(), usedMnemonicsSet, () -> SurroundWithLogger.logTemplate(template, file.getLanguage(), file.getProject()))); } for (CustomLiveTemplate customTemplate : customTemplates) { group.add(new WrapWithCustomTemplateAction(customTemplate, editor, file, usedMnemonicsSet, () -> SurroundWithLogger. logCustomTemplate(customTemplate, file.getLanguage(), file.getProject()))); } return group; }