User: joe Date: 23 Jan 24 15:21 Revision: 612b136916ea6be2a1b264f01a324ef5178de675 Summary: Add setting to re-enable @Shadow on a separate line TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=9043&personal=false Index: src/main/kotlin/MinecraftConfigurable.kt =================================================================== --- src/main/kotlin/MinecraftConfigurable.kt (revision 6fd621022cbd97d54c8519fa7ad81c4f7aab6da0) +++ src/main/kotlin/MinecraftConfigurable.kt (revision 612b136916ea6be2a1b264f01a324ef5178de675) @@ -84,6 +84,13 @@ } } + group(MCDevBundle("minecraft.settings.mixin")) { + row { + checkBox(MCDevBundle("minecraft.settings.mixin.shadow_annotation_same_line")) + .bindSelected(settings::isShadowAnnotationsSameLine) + } + } + onApply { for (project in ProjectManager.getInstance().openProjects) { ProjectView.getInstance(project).refresh() Index: src/main/kotlin/MinecraftSettings.kt =================================================================== --- src/main/kotlin/MinecraftSettings.kt (revision 6fd621022cbd97d54c8519fa7ad81c4f7aab6da0) +++ src/main/kotlin/MinecraftSettings.kt (revision 612b136916ea6be2a1b264f01a324ef5178de675) @@ -35,6 +35,8 @@ var isShowChatColorGutterIcons: Boolean = true, var isShowChatColorUnderlines: Boolean = false, var underlineType: UnderlineType = UnderlineType.DOTTED, + + var isShadowAnnotationsSameLine: Boolean = true, ) private var state = State() @@ -78,6 +80,12 @@ state.underlineType = underlineType } + var isShadowAnnotationsSameLine: Boolean + get() = state.isShadowAnnotationsSameLine + set(shadowAnnotationsSameLine) { + state.isShadowAnnotationsSameLine = shadowAnnotationsSameLine + } + enum class UnderlineType(private val regular: String, val effectType: EffectType) { NORMAL("Normal", EffectType.LINE_UNDERSCORE), Index: src/main/kotlin/platform/mixin/action/GenerateShadowAction.kt =================================================================== --- src/main/kotlin/platform/mixin/action/GenerateShadowAction.kt (revision 6fd621022cbd97d54c8519fa7ad81c4f7aab6da0) +++ src/main/kotlin/platform/mixin/action/GenerateShadowAction.kt (revision 612b136916ea6be2a1b264f01a324ef5178de675) @@ -20,6 +20,7 @@ package com.demonwav.mcdev.platform.mixin.action +import com.demonwav.mcdev.MinecraftSettings import com.demonwav.mcdev.platform.mixin.util.MixinConstants import com.demonwav.mcdev.platform.mixin.util.findFields import com.demonwav.mcdev.platform.mixin.util.findMethods @@ -236,6 +237,11 @@ } inline fun disableAnnotationWrapping(project: Project, func: () -> Unit) { + if (!MinecraftSettings.instance.isShadowAnnotationsSameLine) { + func() + return + } + val settings = CodeStyle.getSettings(project).getCommonSettings(JavaLanguage.INSTANCE) val methodWrap = settings.METHOD_ANNOTATION_WRAP val fieldWrap = settings.FIELD_ANNOTATION_WRAP Index: src/main/resources/messages/MinecraftDevelopment.properties =================================================================== --- src/main/resources/messages/MinecraftDevelopment.properties (revision 6fd621022cbd97d54c8519fa7ad81c4f7aab6da0) +++ src/main/resources/messages/MinecraftDevelopment.properties (revision 612b136916ea6be2a1b264f01a324ef5178de675) @@ -190,3 +190,5 @@ minecraft.settings.show_chat_color_gutter_icons=Show chat color gutter icons minecraft.settings.show_chat_color_underlines=Show chat color underlines minecraft.settings.chat_color_underline_style=Chat color underline style: +minecraft.settings.mixin=Mixin +minecraft.settings.mixin.shadow_annotation_same_line=@Shadow annotations on same line