override fun collectNavigationMarkers()

in src/main/kotlin/com/pestphp/pest/features/snapshotTesting/SnapshotLineMarkerProvider.kt [15:39]


    override fun collectNavigationMarkers(
        element: PsiElement,
        result: MutableCollection<in RelatedItemLineMarkerInfo<*>>,
    ) {
        if (!PhpPsiUtil.isOfType(element, PhpTokenTypes.IDENTIFIER)) {
            return
        }

        val functionReference = element.parent as? FunctionReferenceImpl ?: return

        if (!functionReference.isSnapshotAssertionCall) {
            return
        }

        if (functionReference.parent is PhpUse) {
            return
        }

        val snapshotFiles = functionReference.snapshotFiles

        val builder = NavigationGutterIconBuilder.create(AllIcons.Nodes.DataSchema)
            .setTargets(snapshotFiles)
            .setTooltipText(PestBundle.message("TOOLTIP_NAVIGATE_TO_SNAPSHOT_FILES"))
        result.add(builder.createLineMarkerInfo(element))
    }