@@ -31,7 +31,6 @@ import com.demonwav.mcdev.util.nullable
31
31
import com.intellij.json.psi.JsonFile
32
32
import com.intellij.json.psi.JsonObject
33
33
import com.intellij.openapi.fileTypes.FileTypeManager
34
- import com.intellij.openapi.fileTypes.FileTypes
35
34
import com.intellij.openapi.project.Project
36
35
import com.intellij.psi.JavaPsiFacade
37
36
import com.intellij.psi.PsiClass
@@ -54,19 +53,24 @@ class MixinModule(facet: MinecraftFacet) : AbstractModule(facet) {
54
53
override val icon: Icon ? = null
55
54
56
55
companion object {
57
- private val mixinFileType by lazy {
58
- FileTypeManager .getInstance().findFileTypeByName(" Mixin Configuration" ) ? : FileTypes .UNKNOWN
56
+ private val mixinFileTypes by lazy {
57
+ listOfNotNull(
58
+ FileTypeManager .getInstance().findFileTypeByName(" Mixin Json Configuration" ),
59
+ FileTypeManager .getInstance().findFileTypeByName(" Mixin Json5 Configuration" )
60
+ )
59
61
}
60
62
61
63
fun getMixinConfigs (
62
64
project : Project ,
63
65
scope : GlobalSearchScope ,
64
66
): Collection <MixinConfig > {
65
- return FileTypeIndex .getFiles(mixinFileType, scope)
66
- .mapNotNull {
67
- (PsiManager .getInstance(project).findFile(it) as ? JsonFile )?.topLevelValue as ? JsonObject
67
+ return mixinFileTypes
68
+ .flatMap { FileTypeIndex .getFiles(it, scope) }
69
+ .mapNotNull { file ->
70
+ (PsiManager .getInstance(project).findFile(file) as ? JsonFile )?.topLevelValue as ? JsonObject
71
+ }.map { jsonObject ->
72
+ MixinConfig (project, jsonObject)
68
73
}
69
- .map { MixinConfig (project, it) }
70
74
}
71
75
72
76
fun getAllMixinClasses (
@@ -93,3 +97,4 @@ class MixinModule(facet: MinecraftFacet) : AbstractModule(facet) {
93
97
}
94
98
}
95
99
}
100
+
0 commit comments