@@ -8,6 +8,7 @@ package io.openapiprocessor.intellij
88import com.intellij.codeInsight.daemon.RelatedItemLineMarkerInfo
99import com.intellij.codeInsight.daemon.RelatedItemLineMarkerProvider
1010import com.intellij.codeInsight.navigation.NavigationGutterIconBuilder
11+ import com.intellij.navigation.GotoRelatedItem
1112import com.intellij.openapi.components.service
1213import com.intellij.openapi.project.Project
1314import com.intellij.openapi.util.IconLoader
@@ -24,7 +25,14 @@ import org.slf4j.LoggerFactory
2425 * line marker to navigate from mapping annotation (from interface) to the path in the OpenAPI document.
2526 */
2627class MappingAnnotationLineMarker : RelatedItemLineMarkerProvider () {
27- private val log: Logger = LoggerFactory .getLogger(javaClass.name)
28+ val log: Logger = LoggerFactory .getLogger(javaClass.name)
29+
30+ class GotoOpenApi (element : PsiElement ): GotoRelatedItem(element, Goto .I18n .GROUP ) {
31+
32+ override fun getCustomIcon (): javax.swing.Icon ? {
33+ return Icon .openapi
34+ }
35+ }
2836
2937 override fun collectNavigationMarkers (
3038 element : PsiElement ,
@@ -60,10 +68,13 @@ class MappingAnnotationLineMarker: RelatedItemLineMarkerProvider() {
6068 }
6169
6270 val builder = NavigationGutterIconBuilder
63- .create(Icon .openapi)
71+ .create<PsiElement >(
72+ Icon .openapi,
73+ { listOf (it) },
74+ { listOf (GotoOpenApi (it)) })
6475 .setTooltipText(I18n .TOOLTIP_TEXT )
6576 .setPopupTitle(I18n .POPUP_TITLE )
66- .setTargets(* targets.toTypedArray() )
77+ .setTargets(targets)
6778
6879 val id = element.nameReferenceElement?.firstChild!!
6980
0 commit comments