override fun afterActionPerformed()

in src/main/kotlin/org/jetbrains/plugins/feature/suggester/listeners/EditorActionsListener.kt [39:139]


    override fun afterActionPerformed(action: AnAction, event: AnActionEvent, result: AnActionResult) {
        if (!action.isSupportedAction()) return
        val editor = event.getData(CommonDataKeys.EDITOR) ?: return
        val project = event.getData(CommonDataKeys.PROJECT) ?: return
        val psiFile = event.getData(CommonDataKeys.PSI_FILE) ?: return
        when (action) {
            is CopyAction -> {
                val copiedText = CopyPasteManager.getInstance().contents?.asString() ?: return
                handleAction(
                    project,
                    EditorCopyAction(
                        text = copiedText,
                        editor = editor,
                        psiFile = psiFile,
                        timeMillis = System.currentTimeMillis()
                    )
                )
            }
            is CutAction -> {
                val text = CopyPasteManager.getInstance().contents?.asString() ?: return
                handleAction(
                    project,
                    EditorCutAction(
                        text = text,
                        editor = editor,
                        psiFile = psiFile,
                        timeMillis = System.currentTimeMillis()
                    )
                )
            }
            is PasteAction -> {
                val pastedText = CopyPasteManager.getInstance().contents?.asString() ?: return
                val caretOffset = editor.getCaretOffset()
                handleAction(
                    project,
                    EditorPasteAction(
                        text = pastedText,
                        caretOffset = caretOffset,
                        editor = editor,
                        psiFile = psiFile,
                        timeMillis = System.currentTimeMillis()
                    )
                )
            }
            is BackspaceAction -> {
                handleAction(
                    project,
                    EditorBackspaceAction(
                        textFragment = editor.getSelection(),
                        caretOffset = editor.getCaretOffset(),
                        editor = editor,
                        psiFile = psiFile,
                        timeMillis = System.currentTimeMillis()
                    )
                )
            }
            is IncrementalFindAction -> {
                handleAction(
                    project,
                    EditorFindAction(
                        editor = editor,
                        psiFile = psiFile,
                        timeMillis = System.currentTimeMillis()
                    )
                )
            }
            is CodeCompletionAction -> {
                handleAction(
                    project,
                    EditorCodeCompletionAction(
                        caretOffset = editor.caretModel.offset,
                        editor = editor,
                        psiFile = psiFile,
                        timeMillis = System.currentTimeMillis()
                    )
                )
            }
            is ChooseItemAction.FocusedOnly -> {
                handleAction(
                    project,
                    CompletionChooseItemAction(
                        caretOffset = editor.caretModel.offset,
                        editor = editor,
                        psiFile = psiFile,
                        timeMillis = System.currentTimeMillis()
                    )
                )
            }
            is EscapeAction -> {
                handleAction(
                    project,
                    EditorEscapeAction(
                        caretOffset = editor.caretModel.offset,
                        editor = editor,
                        psiFile = psiFile,
                        timeMillis = System.currentTimeMillis()
                    )
                )
            }
        }
    }