Skip to content

Commit 612b136

Browse files
committed
Add setting to re-enable @shadow on a separate line
1 parent 6fd6210 commit 612b136

File tree

4 files changed

+23
-0
lines changed

4 files changed

+23
-0
lines changed

src/main/kotlin/MinecraftConfigurable.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,13 @@ class MinecraftConfigurable : Configurable {
8484
}
8585
}
8686

87+
group(MCDevBundle("minecraft.settings.mixin")) {
88+
row {
89+
checkBox(MCDevBundle("minecraft.settings.mixin.shadow_annotation_same_line"))
90+
.bindSelected(settings::isShadowAnnotationsSameLine)
91+
}
92+
}
93+
8794
onApply {
8895
for (project in ProjectManager.getInstance().openProjects) {
8996
ProjectView.getInstance(project).refresh()

src/main/kotlin/MinecraftSettings.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ class MinecraftSettings : PersistentStateComponent<MinecraftSettings.State> {
3535
var isShowChatColorGutterIcons: Boolean = true,
3636
var isShowChatColorUnderlines: Boolean = false,
3737
var underlineType: UnderlineType = UnderlineType.DOTTED,
38+
39+
var isShadowAnnotationsSameLine: Boolean = true,
3840
)
3941

4042
private var state = State()
@@ -78,6 +80,12 @@ class MinecraftSettings : PersistentStateComponent<MinecraftSettings.State> {
7880
state.underlineType = underlineType
7981
}
8082

83+
var isShadowAnnotationsSameLine: Boolean
84+
get() = state.isShadowAnnotationsSameLine
85+
set(shadowAnnotationsSameLine) {
86+
state.isShadowAnnotationsSameLine = shadowAnnotationsSameLine
87+
}
88+
8189
enum class UnderlineType(private val regular: String, val effectType: EffectType) {
8290

8391
NORMAL("Normal", EffectType.LINE_UNDERSCORE),

src/main/kotlin/platform/mixin/action/GenerateShadowAction.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
package com.demonwav.mcdev.platform.mixin.action
2222

23+
import com.demonwav.mcdev.MinecraftSettings
2324
import com.demonwav.mcdev.platform.mixin.util.MixinConstants
2425
import com.demonwav.mcdev.platform.mixin.util.findFields
2526
import com.demonwav.mcdev.platform.mixin.util.findMethods
@@ -236,6 +237,11 @@ private fun copyAnnotation(modifiers: PsiModifierList, newModifiers: PsiModifier
236237
}
237238

238239
inline fun disableAnnotationWrapping(project: Project, func: () -> Unit) {
240+
if (!MinecraftSettings.instance.isShadowAnnotationsSameLine) {
241+
func()
242+
return
243+
}
244+
239245
val settings = CodeStyle.getSettings(project).getCommonSettings(JavaLanguage.INSTANCE)
240246
val methodWrap = settings.METHOD_ANNOTATION_WRAP
241247
val fieldWrap = settings.FIELD_ANNOTATION_WRAP

src/main/resources/messages/MinecraftDevelopment.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,3 +190,5 @@ minecraft.settings.show_event_listener_gutter_icons=Show event listener gutter i
190190
minecraft.settings.show_chat_color_gutter_icons=Show chat color gutter icons
191191
minecraft.settings.show_chat_color_underlines=Show chat color underlines
192192
minecraft.settings.chat_color_underline_style=Chat color underline style:
193+
minecraft.settings.mixin=Mixin
194+
minecraft.settings.mixin.shadow_annotation_same_line=@Shadow annotations on same line

0 commit comments

Comments
 (0)