User: rednesto
Date: 28 Apr 23 14:19
Revision: 52adcdb2dc3acdd55968ad0d4ac6d265a9224b1c
Summary:
Properly handle translation sorting errors
Fixes minecraft-dev/mcdev-error-report#628
TeamCity URL: http://ci.mcdev.io:80/viewModification.html?tab=vcsModificationFiles&modId=8458&personal=false
Index: src/main/kotlin/translations/TranslationEditorNotificationProvider.kt
===================================================================
--- src/main/kotlin/translations/TranslationEditorNotificationProvider.kt (revision 7be7c38ddcdb1e9368546340b0680dfdedf2e82e)
+++ src/main/kotlin/translations/TranslationEditorNotificationProvider.kt (revision 52adcdb2dc3acdd55968ad0d4ac6d265a9224b1c)
@@ -16,6 +16,8 @@
import com.demonwav.mcdev.util.applyWriteAction
import com.demonwav.mcdev.util.findMcpModule
import com.demonwav.mcdev.util.mcDomain
+import com.intellij.notification.Notification
+import com.intellij.notification.NotificationType
import com.intellij.openapi.editor.colors.EditorColors
import com.intellij.openapi.editor.colors.EditorColorsManager
import com.intellij.openapi.fileEditor.FileEditor
@@ -73,9 +75,18 @@
Messages.getQuestionIcon(),
)
if (sort == Messages.YES) {
+ try {
- TranslationSorter.query(project, psi, Ordering.LIKE_DEFAULT)
+ TranslationSorter.query(project, psi, Ordering.LIKE_DEFAULT)
+ } catch (e: Exception) {
+ Notification(
+ "Translations sorting error",
+ "Error sorting translations",
+ e.message ?: e.stackTraceToString(),
+ NotificationType.WARNING,
+ ).notify(project)
- }
- }
+ }
+ }
+ }
panel.createActionLabel("Hide notification") {
panel.isVisible = false
show = false
Index: src/main/kotlin/translations/actions/SortTranslationsAction.kt
===================================================================
--- src/main/kotlin/translations/actions/SortTranslationsAction.kt (revision 7be7c38ddcdb1e9368546340b0680dfdedf2e82e)
+++ src/main/kotlin/translations/actions/SortTranslationsAction.kt (revision 52adcdb2dc3acdd55968ad0d4ac6d265a9224b1c)
@@ -12,6 +12,8 @@
import com.demonwav.mcdev.translations.TranslationFiles
import com.demonwav.mcdev.translations.sorting.TranslationSorter
+import com.intellij.notification.Notification
+import com.intellij.notification.NotificationType
import com.intellij.openapi.actionSystem.AnAction
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.LangDataKeys
@@ -20,8 +22,18 @@
class SortTranslationsAction : AnAction() {
override fun actionPerformed(e: AnActionEvent) {
val file = e.getData(LangDataKeys.PSI_FILE) ?: return
+
+ try {
- TranslationSorter.query(file.project, file)
+ TranslationSorter.query(file.project, file)
+ } catch (e: Exception) {
+ Notification(
+ "Translations sorting error",
+ "Error sorting translations",
+ e.message ?: e.stackTraceToString(),
+ NotificationType.WARNING,
+ ).notify(file.project)
- }
+ }
+ }
override fun update(e: AnActionEvent) {
val file = e.getData(LangDataKeys.VIRTUAL_FILE)
Index: src/main/resources/META-INF/plugin.xml
===================================================================
--- src/main/resources/META-INF/plugin.xml (revision 7be7c38ddcdb1e9368546340b0680dfdedf2e82e)
+++ src/main/resources/META-INF/plugin.xml (revision 52adcdb2dc3acdd55968ad0d4ac6d265a9224b1c)
@@ -219,6 +219,7 @@
+