override fun promote()

in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/actions/CodeWhispererActionPromoter.kt [13:47]


    override fun promote(actions: MutableList<out AnAction>, context: DataContext): MutableList<AnAction> {
        val results = actions.toMutableList()
        if (!CodeWhispererInvocationStatusNew.getInstance().isDisplaySessionActive() &&
            !CodeWhispererInvocationStatus.getInstance().isDisplaySessionActive()
        ) {
            return results
        }

        results.sortWith { a, b ->
            if (isCodeWhispererForceAction(a)) {
                return@sortWith -1
            } else if (isCodeWhispererForceAction(b)) {
                return@sortWith 1
            }

            if (isCodeWhispererAcceptAction(a)) {
                return@sortWith -1
            } else if (isCodeWhispererAcceptAction(b)) {
                return@sortWith 1
            }

            0
        }

        results.sortWith { a, b ->
            if (isCodeWhispererNavigateAction(a)) {
                return@sortWith -1
            } else if (isCodeWhispererNavigateAction(b)) {
                return@sortWith 1
            }

            0
        }
        return results
    }