diff --git a/editor/src/main/java/com/itsaky/androidide/editor/schemes/internal/parser/common.kt b/editor/src/main/java/com/itsaky/androidide/editor/schemes/internal/parser/common.kt index 8c5f03393..fc4b15dfb 100644 --- a/editor/src/main/java/com/itsaky/androidide/editor/schemes/internal/parser/common.kt +++ b/editor/src/main/java/com/itsaky/androidide/editor/schemes/internal/parser/common.kt @@ -30,8 +30,11 @@ fun IDEColorScheme.parseEditorScheme(reader: JsonReader, resolveFileRef: (String val newReader = if (reader.peek() == STRING) { readerForFileRef(reader, "editor", resolveFileRef) } else reader - EditorSchemeParser(newReader).parse(this).also { - if (reader != newReader) { + + try { + EditorSchemeParser(newReader).parse(this) + } finally { + if (reader !== newReader) { newReader.close() } } @@ -93,8 +96,10 @@ fun IDEColorScheme.parseLanguage( readerForFileRef(reader, "language", resolveFileRef) } else reader - return LanguageParser(newReader).parseLang(this).also { - if (reader != newReader) { + return try { + LanguageParser(newReader).parseLang(this) + } finally { + if (reader !== newReader) { newReader.close() } }