User: rednesto Date: 28 Sep 24 23:15 Revision: 3c82c6bf279d4eaf8ef909c65f04e1faa429060f Summary: Provide different descriptions for MixinConfigFileTypes TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=9732&personal=false Index: src/main/kotlin/platform/mixin/MixinModule.kt =================================================================== --- src/main/kotlin/platform/mixin/MixinModule.kt (revision 3370b421bad80e90244aa283a58b48285b70013c) +++ src/main/kotlin/platform/mixin/MixinModule.kt (revision 3c82c6bf279d4eaf8ef909c65f04e1faa429060f) @@ -25,12 +25,12 @@ import com.demonwav.mcdev.platform.AbstractModule import com.demonwav.mcdev.platform.PlatformType import com.demonwav.mcdev.platform.mixin.config.MixinConfig +import com.demonwav.mcdev.platform.mixin.config.MixinConfigFileType import com.demonwav.mcdev.platform.mixin.framework.MIXIN_LIBRARY_KIND import com.demonwav.mcdev.util.SemanticVersion import com.demonwav.mcdev.util.nullable import com.intellij.json.psi.JsonFile import com.intellij.json.psi.JsonObject -import com.intellij.openapi.fileTypes.FileTypeManager import com.intellij.openapi.project.Project import com.intellij.psi.JavaPsiFacade import com.intellij.psi.PsiClass @@ -53,12 +53,7 @@ override val icon: Icon? = null companion object { - private val mixinFileTypes by lazy { - listOfNotNull( - FileTypeManager.getInstance().findFileTypeByName("Mixin Json Configuration"), - FileTypeManager.getInstance().findFileTypeByName("Mixin Json5 Configuration") - ) - } + private val mixinFileTypes = listOf(MixinConfigFileType.Json, MixinConfigFileType.Json5) fun getMixinConfigs( project: Project, Index: src/main/kotlin/platform/mixin/config/MixinConfigFileType.kt =================================================================== --- src/main/kotlin/platform/mixin/config/MixinConfigFileType.kt (revision 3370b421bad80e90244aa283a58b48285b70013c) +++ src/main/kotlin/platform/mixin/config/MixinConfigFileType.kt (revision 3c82c6bf279d4eaf8ef909c65f04e1faa429060f) @@ -28,7 +28,7 @@ import com.intellij.openapi.vfs.VirtualFile interface MixinConfigFileType : FileTypeIdentifiableByVirtualFile { - fun getFilenameRegex() : Regex + fun getFilenameRegex(): Regex // Dynamic file type detection is sadly needed as we're overriding the built-in json file type. // Simply using an extension pattern is not sufficient as there is no way to bump the version to tell @@ -36,21 +36,22 @@ // See https://www.plugin-dev.com/intellij/custom-language/file-type-detection/#guidelines override fun isMyFileType(file: VirtualFile) = file.name.contains(getFilenameRegex()) - override fun getDescription() = "Mixin configuration" override fun getDefaultExtension() = "" override fun getIcon() = PlatformAssets.MIXIN_ICON object Json : LanguageFileType(JsonLanguage.INSTANCE), MixinConfigFileType { private val filenameRegex = "(^|\\.)mixins?(\\.[^.]+)*\\.json\$".toRegex() - override fun getFilenameRegex() : Regex = filenameRegex + override fun getFilenameRegex(): Regex = filenameRegex override fun getName() = "Mixin Json Configuration" + override fun getDescription() = "Mixin Json configuration" } object Json5 : LanguageFileType(Json5Language.INSTANCE), MixinConfigFileType { private var filenameRegex = "(^|\\.)mixins?(\\.[^.]+)*\\.json5\$".toRegex() - override fun getFilenameRegex() : Regex = filenameRegex + override fun getFilenameRegex(): Regex = filenameRegex override fun getName() = "Mixin Json5 Configuration" + override fun getDescription() = "Mixin Json5 configuration" } -} \ No newline at end of file +}