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
}