diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/DslHighlightingMarker.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/DslHighlightingMarker.kt index 25518811c29..a3276ea1a32 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/DslHighlightingMarker.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/DslHighlightingMarker.kt @@ -13,6 +13,7 @@ import com.intellij.icons.AllIcons import com.intellij.ide.DataManager import com.intellij.openapi.editor.markup.GutterIconRenderer import com.intellij.psi.PsiElement +import com.intellij.util.Function import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.idea.KotlinLanguage @@ -30,6 +31,10 @@ private val navHandler = GutterIconNavigationHandler { event, elemen ColorAndFontOptions.selectOrEditColor(dataContext, DslHighlighterExtension.styleOptionDisplayName(styleId), KotlinLanguage.NAME) } +private val toolTipHandler = Function { + "Marker annotation for DSL" +} + fun collectHighlightingColorsMarkers( ktClass: KtClass, result: MutableCollection> @@ -44,7 +49,7 @@ fun collectHighlightingColorsMarkers( anchor.textRange, AllIcons.Gutter.Colors, Pass.LINE_MARKERS, - null, navHandler, + toolTipHandler, navHandler, GutterIconRenderer.Alignment.RIGHT ) ) diff --git a/idea/testData/codeInsight/lineMarker/dslMarker/markerAnnotationDeclaration.kt b/idea/testData/codeInsight/lineMarker/dslMarker/markerAnnotationDeclaration.kt new file mode 100644 index 00000000000..d2b2fc13a00 --- /dev/null +++ b/idea/testData/codeInsight/lineMarker/dslMarker/markerAnnotationDeclaration.kt @@ -0,0 +1,7 @@ +package p + +@DslMarker +annotation class Anno1 + +@DslMarker +annotation class Anno2 \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/LineMarkersTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/LineMarkersTestGenerated.java index 94223ffa300..0148d21dae9 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/LineMarkersTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/LineMarkersTestGenerated.java @@ -31,6 +31,21 @@ public class LineMarkersTestGenerated extends AbstractLineMarkersTest { doTest(fileName); } + @TestMetadata("idea/testData/codeInsight/lineMarker/dslMarker") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class DslMarker extends AbstractLineMarkersTest { + public void testAllFilesPresentInDslMarker() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/codeInsight/lineMarker/dslMarker"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true); + } + + @TestMetadata("markerAnnotationDeclaration.kt") + public void testMarkerAnnotationDeclaration() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/codeInsight/lineMarker/dslMarker/markerAnnotationDeclaration.kt"); + doTest(fileName); + } + } + @TestMetadata("idea/testData/codeInsight/lineMarker/overrideImplement") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)