User: rednesto Date: 08 Jul 23 10:10 Revision: 9764fc963eb34a8e89cbab181a893a7a9a26d4ce Summary: Catch MC version detection failures Fixes minecraft-dev/mcdev-error-report#368 TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8597&personal=false Index: src/main/kotlin/translations/inspections/NoTranslationInspection.kt =================================================================== --- src/main/kotlin/translations/inspections/NoTranslationInspection.kt (revision 499683aed5d9424d1e4d504257bcd08a171c1c9f) +++ src/main/kotlin/translations/inspections/NoTranslationInspection.kt (revision 9764fc963eb34a8e89cbab181a893a7a9a26d4ce) @@ -26,6 +26,8 @@ import com.intellij.codeInspection.ProblemDescriptor import com.intellij.codeInspection.ProblemHighlightType import com.intellij.codeInspection.ProblemsHolder +import com.intellij.notification.Notification +import com.intellij.notification.NotificationType import com.intellij.openapi.project.Project import com.intellij.openapi.ui.Messages import com.intellij.psi.JavaElementVisitor @@ -73,6 +75,13 @@ TranslationFiles.add(literal, key, result) } } catch (ignored: IncorrectOperationException) { + } catch (e: Exception) { + Notification( + "Translation support error", + "Error while adding translation", + e.message ?: e.stackTraceToString(), + NotificationType.WARNING, + ).notify(project) } } Index: src/main/kotlin/translations/intentions/ConvertToTranslationIntention.kt =================================================================== --- src/main/kotlin/translations/intentions/ConvertToTranslationIntention.kt (revision 499683aed5d9424d1e4d504257bcd08a171c1c9f) +++ src/main/kotlin/translations/intentions/ConvertToTranslationIntention.kt (revision 9764fc963eb34a8e89cbab181a893a7a9a26d4ce) @@ -24,6 +24,8 @@ import com.demonwav.mcdev.util.runWriteAction import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction import com.intellij.lang.java.JavaLanguage +import com.intellij.notification.Notification +import com.intellij.notification.NotificationType import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import com.intellij.openapi.ui.InputValidatorEx @@ -68,9 +70,9 @@ } }, ) - val key = result.first + val key = result.first ?: return val replaceLiteral = result.second - if (key != null) { + try { TranslationFiles.add(element, key, value) if (replaceLiteral) { val psi = PsiDocumentManager.getInstance(project).getPsiFile(editor.document) ?: return @@ -87,6 +89,13 @@ } } } + } catch (e: Exception) { + Notification( + "Translation support error", + "Error while adding translation", + e.message ?: e.stackTraceToString(), + NotificationType.WARNING, + ).notify(project) } } } Index: src/main/resources/META-INF/plugin.xml =================================================================== --- src/main/resources/META-INF/plugin.xml (revision 499683aed5d9424d1e4d504257bcd08a171c1c9f) +++ src/main/resources/META-INF/plugin.xml (revision 9764fc963eb34a8e89cbab181a893a7a9a26d4ce) @@ -244,6 +244,7 @@ +