Dsl line marker: provide simple tooltip

Test dsl line marker
This commit is contained in:
Pavel V. Talanov
2018-02-07 18:33:35 +01:00
parent 519ea12bb2
commit 229184dd78
3 changed files with 28 additions and 1 deletions
@@ -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<PsiElement> { event, elemen
ColorAndFontOptions.selectOrEditColor(dataContext, DslHighlighterExtension.styleOptionDisplayName(styleId), KotlinLanguage.NAME)
}
private val toolTipHandler = Function<PsiElement, String> {
"Marker annotation for DSL"
}
fun collectHighlightingColorsMarkers(
ktClass: KtClass,
result: MutableCollection<LineMarkerInfo<*>>
@@ -44,7 +49,7 @@ fun collectHighlightingColorsMarkers(
anchor.textRange,
AllIcons.Gutter.Colors,
Pass.LINE_MARKERS,
null, navHandler,
toolTipHandler, navHandler,
GutterIconRenderer.Alignment.RIGHT
)
)
@@ -0,0 +1,7 @@
package p
@DslMarker
annotation class <lineMarker descr="Marker annotation for DSL">Anno1</lineMarker>
@DslMarker
annotation class <lineMarker descr="Marker annotation for DSL">Anno2</lineMarker>
@@ -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)