Skip to content

Commit 747e298

Browse files
committed
Fix isConstantFile and isVarFile checks
1 parent 0e3c905 commit 747e298

File tree

3 files changed

+14
-11
lines changed

3 files changed

+14
-11
lines changed

src/main/kotlin/io/runescript/plugin/symbollang/psi/RsSymPsiExtensions.kt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,14 @@ package io.runescript.plugin.symbollang.psi
22

33
import com.intellij.openapi.vfs.VirtualFile
44

5-
fun VirtualFile.isConstantFile() = name == "constant.sym"
6-
fun VirtualFile.isVarFile() = name == "varp.sym" || name == "varc.sym"
5+
fun VirtualFile.isSymbolFileOfTypeLiteral(typeLiteral: String): Boolean {
6+
val parent = parent
7+
return if (parent != null && parent.name == typeLiteral) true else nameWithoutExtension == typeLiteral
8+
}
9+
10+
fun VirtualFile.isConstantFile() = isSymbolFileOfTypeLiteral("constant")
11+
fun VirtualFile.isVarFile() = when {
12+
isSymbolFileOfTypeLiteral("varp") -> true
13+
isSymbolFileOfTypeLiteral("varc") -> true
14+
else -> false
15+
}

src/main/kotlin/io/runescript/plugin/symbollang/psi/index/RsSymbolIndex.kt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.intellij.psi.stubs.StubIndex
88
import com.intellij.psi.stubs.StubIndexKey
99
import io.runescript.plugin.lang.psi.type.RsPrimitiveType
1010
import io.runescript.plugin.symbollang.psi.RsSymSymbol
11+
import io.runescript.plugin.symbollang.psi.isSymbolFileOfTypeLiteral
1112
import io.runescript.plugin.symbollang.psi.stub.types.RsSymFileStubType
1213

1314

@@ -25,14 +26,7 @@ class RsSymbolIndex : StringStubIndexExtension<RsSymSymbol>() {
2526
val scope = GlobalSearchScope.allScope(project)
2627
val configs = StubIndex.getElements(KEY, name, project, scope, RsSymSymbol::class.java)
2728
return configs.singleOrNull {
28-
// TODO: Only include if the file is within the symbols directory.
29-
val containingFile = it.containingFile
30-
val parent = containingFile.parent
31-
if (parent != null && parent.name == lookupType.literal) {
32-
true
33-
} else {
34-
containingFile.nameWithoutExtension == lookupType.literal
35-
}
29+
it.containingFile.virtualFile.isSymbolFileOfTypeLiteral(lookupType.literal)
3630
}
3731
}
3832

src/main/kotlin/io/runescript/plugin/symbollang/psi/stub/types/RsSymFileStubType.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import io.runescript.plugin.symbollang.psi.stub.RsSymFileStub
99

1010
object RsSymFileStubType : IStubFileElementType<RsSymFileStub>(RuneScriptSymbol) {
1111

12-
override fun getStubVersion() = 0
12+
override fun getStubVersion() = 1
1313

1414
override fun serialize(stub: RsSymFileStub, dataStream: StubOutputStream) {
1515

0 commit comments

Comments
 (0)