Skip to content

Commit 06b7b1e

Browse files
committed
Add breadcrumbs and sticky lines support
1 parent 9f4e05b commit 06b7b1e

File tree

3 files changed

+36
-1
lines changed

3 files changed

+36
-1
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
## [Unreleased]
44

5+
- Add breadcrumbs and sticky lines support
6+
57
## [1.7.1] - 2025-01-12
68

79
### Changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package io.runescript.plugin.ide.breadcrumb
2+
3+
import com.intellij.openapi.util.NlsSafe
4+
import com.intellij.psi.PsiElement
5+
import com.intellij.ui.breadcrumbs.BreadcrumbsProvider
6+
import io.runescript.plugin.lang.RuneScript
7+
import io.runescript.plugin.lang.psi.RsScript
8+
import io.runescript.plugin.lang.psi.qualifiedName
9+
import javax.swing.Icon
10+
11+
class RsBreadcrumbsInfoProvider : BreadcrumbsProvider {
12+
13+
override fun getLanguages() = arrayOf(RuneScript)
14+
15+
override fun acceptElement(e: PsiElement) = when (e) {
16+
is RsScript -> true
17+
else -> false
18+
}
19+
20+
override fun getElementInfo(element: PsiElement): @NlsSafe String {
21+
if (element is RsScript) {
22+
return element.qualifiedName
23+
}
24+
return ""
25+
}
26+
27+
override fun getElementIcon(element: PsiElement): Icon? {
28+
if (element is RsScript) {
29+
return element.getIcon(0)
30+
}
31+
return null
32+
}
33+
}

src/main/resources/META-INF/plugin.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
<lang.psiStructureViewFactory language="RuneScript" implementationClass="io.runescript.plugin.ide.structureView.RsStructureViewFactory"/>
5757
<controlFlowProvider implementation="io.runescript.plugin.ide.codeInsight.controlFlow.RsControlFlowProvider"/>
5858
<colorProvider implementation="io.runescript.plugin.ide.RsElementColorProvider"/>
59-
59+
<breadcrumbsInfoProvider implementation="io.runescript.plugin.ide.breadcrumb.RsBreadcrumbsInfoProvider" />
6060
<projectImportProvider implementation="io.runescript.plugin.ide.neptune.NeptuneProjectImportProvider"/>
6161
<projectImportBuilder implementation="io.runescript.plugin.ide.neptune.NeptuneProjectImportBuilder"/>
6262

0 commit comments

Comments
 (0)