Skip to content

Commit 53edd9e

Browse files
committed
create working related item
1 parent 092b61b commit 53edd9e

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

src/main/kotlin/io/openapiprocessor/intellij/MappingAnnotationLineMarker.kt

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package io.openapiprocessor.intellij
88
import com.intellij.codeInsight.daemon.RelatedItemLineMarkerInfo
99
import com.intellij.codeInsight.daemon.RelatedItemLineMarkerProvider
1010
import com.intellij.codeInsight.navigation.NavigationGutterIconBuilder
11+
import com.intellij.navigation.GotoRelatedItem
1112
import com.intellij.openapi.components.service
1213
import com.intellij.openapi.project.Project
1314
import 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
*/
2627
class 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

Comments
 (0)