override fun getSuggestion()

in src/main/kotlin/org/jetbrains/plugins/feature/suggester/suggesters/CopyPasteSuggester.kt [31:49]


    override fun getSuggestion(action: Action): Suggestion {
        when (action) {
            is BeforeEditorCopyAction -> {
                val contents: Array<Transferable> = CopyPasteManager.getInstance().allContents
                val occurrenceIndex = contents.indexOfFirst { it.asString() == action.text }
                if (occurrenceIndex in MIN_OCCURRENCE_INDEX..MAX_OCCURRENCE_INDEX) {
                    val prevAction = copyHistory.findLast { it.text == action.text } ?: return NoSuggestion
                    val delta = action.timeMillis - prevAction.timeMillis
                    if (delta < MAX_COPY_INTERVAL_TIME_MILLIS) {
                        return createSuggestion()
                    }
                }
            }
            is EditorCopyAction -> {
                copyHistory.add(CopyData(action.text, action.timeMillis))
            }
        }
        return NoSuggestion
    }