Result (char charTyped, @NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file) { if (!(file instanceof MarkdownFile)) return Result.CONTINUE; if (charTyped == '`') { PsiDocumentManager.getInstance(project).commitDocument(editor.getDocument()); for (Caret caret : editor.getCaretModel().getAllCarets()) { final int offset = caret.getOffset(); if (!CodeFenceLanguageListCompletionProvider.isInMiddleOfUnCollapsedFence(file.findElementAt(offset), offset)) { return Result.CONTINUE; } } AutoPopupController.getInstance(project).autoPopupMemberLookup(editor, null); return Result.STOP; } if (charTyped == '<') { AutoPopupController.getInstance(project).autoPopupMemberLookup(editor, null); return Result.STOP; } return Result.CONTINUE; }