fix(editor): ensure JsonReaders are always closed when reading color schemes

This commit is contained in:
Akash Yadav
2023-12-18 00:12:58 +05:30
parent b681568a50
commit 055a835ed4
@@ -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()
}
}