User: joe Date: 14 Apr 26 13:59 Revision: aaade91cf68cad86e1652ce0daafdf7d47a57de1 Summary: Merge branch '2025.3' into 2026.1 TeamCity URL: http://ci.mcdev.io:80/viewModification.html?tab=vcsModificationFiles&modId=10535&personal=false Index: gradle.properties =================================================================== --- gradle.properties (revision 8c08dd8bacb8bcce0dc811db7a757eb60300045f) +++ gradle.properties (revision aaade91cf68cad86e1652ce0daafdf7d47a57de1) @@ -23,7 +23,7 @@ ideaVersionName = 2026.1 -coreVersion = 1.8.14 +coreVersion = 1.8.15 # Silences a build-time warning because we are bundling our own kotlin library kotlin.stdlib.default.dependency = false Index: src/main/kotlin/platform/mcp/ct/CtCompletionContributor.kt =================================================================== --- src/main/kotlin/platform/mcp/ct/CtCompletionContributor.kt (revision 8c08dd8bacb8bcce0dc811db7a757eb60300045f) +++ src/main/kotlin/platform/mcp/ct/CtCompletionContributor.kt (revision aaade91cf68cad86e1652ce0daafdf7d47a57de1) @@ -22,6 +22,7 @@ import com.demonwav.mcdev.facet.MinecraftFacet import com.demonwav.mcdev.platform.fabric.FabricModuleType +import com.demonwav.mcdev.platform.fabric.util.FabricConstants import com.demonwav.mcdev.platform.mcp.ct.gen.psi.CtTypes import com.demonwav.mcdev.util.findModule import com.intellij.codeInsight.completion.CodeCompletionHandlerBase @@ -31,6 +32,7 @@ import com.intellij.codeInsight.completion.CompletionResultSet import com.intellij.codeInsight.completion.CompletionType import com.intellij.codeInsight.completion.InsertionContext +import com.intellij.codeInsight.completion.PrioritizedLookupElement import com.intellij.codeInsight.lookup.LookupElementBuilder import com.intellij.openapi.application.runReadActionBlocking import com.intellij.patterns.PlatformPatterns @@ -68,6 +70,11 @@ } } +private val ADDITIONAL_NAMESPACE_PRIORITY = mapOf( + "named" to 0.2, + "official" to 0.1, +) + object CtHeaderCompletionProvider : CompletionProvider() { override fun addCompletions( @@ -76,12 +83,19 @@ result: CompletionResultSet, ) { if (parameters.position.prevLeaf(true) == null) { - result.addElement(LookupElementBuilder.create("accessWidener v1 named")) - result.addElement(LookupElementBuilder.create("accessWidener v2 named")) - result.addElement(LookupElementBuilder.create("classTweaker v1 named")) + val module = parameters.originalFile.findModule() ?: return + val fabricModule = MinecraftFacet.getInstance(module, FabricModuleType) ?: return + for (mappingNamespace in fabricModule.mappingNamespaces) { + val additionalPriority = ADDITIONAL_NAMESPACE_PRIORITY[mappingNamespace] ?: 0.0 + result.addElement(PrioritizedLookupElement.withPriority(LookupElementBuilder.create("accessWidener v1 $mappingNamespace"), 1.0 + additionalPriority)) + result.addElement(PrioritizedLookupElement.withPriority(LookupElementBuilder.create("accessWidener v2 $mappingNamespace"), 2.0 + additionalPriority)) + for (ctVersion in 1..FabricConstants.CLASS_TWEAKER_VERSION - 2) { + result.addElement(PrioritizedLookupElement.withPriority(LookupElementBuilder.create("classTweaker v$ctVersion $mappingNamespace"), 2.0 + ctVersion + additionalPriority)) - } - } -} + } + } + } + } +} object CtNamespaceCompletionProvider : CompletionProvider() {