Cargo.lock 🔗
@@ -8183,6 +8183,7 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
+ "serde_json_lenient",
"serde_repr",
"settings",
"story",
Marshall Bowers created
This PR improves the theme parsing to be a bit more lenient, allowing
things like comments and trailing commas in theme files.
Release Notes:
- N/A
Cargo.lock | 1 +
Cargo.toml | 1 +
crates/settings/Cargo.toml | 2 +-
crates/theme/Cargo.toml | 1 +
crates/theme/src/registry.rs | 2 +-
5 files changed, 5 insertions(+), 2 deletions(-)
@@ -8183,6 +8183,7 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
+ "serde_json_lenient",
"serde_repr",
"settings",
"story",
@@ -120,6 +120,7 @@ schemars = "0.8"
serde = { version = "1.0", features = ["derive", "rc"] }
serde_derive = { version = "1.0", features = ["deserialize_in_place"] }
serde_json = { version = "1.0", features = ["preserve_order", "raw_value"] }
+serde_json_lenient = { version = "0.1", features = ["preserve_order", "raw_value"] }
serde_repr = "0.1"
smallvec = { version = "1.6", features = ["union"] }
smol = "1.2"
@@ -27,7 +27,7 @@ schemars.workspace = true
serde.workspace = true
serde_derive.workspace = true
serde_json.workspace = true
-serde_json_lenient = {version = "0.1", features = ["preserve_order", "raw_value"] }
+serde_json_lenient.workspace = true
smallvec.workspace = true
toml.workspace = true
tree-sitter-json = "*"
@@ -34,6 +34,7 @@ schemars = { workspace = true, features = ["indexmap"] }
serde.workspace = true
serde_derive.workspace = true
serde_json.workspace = true
+serde_json_lenient.workspace = true
serde_repr.workspace = true
settings = { path = "../settings" }
story = { path = "../story", optional = true }
@@ -259,7 +259,7 @@ impl ThemeRegistry {
continue;
};
- let Some(theme) = serde_json::from_reader(reader).log_err() else {
+ let Some(theme) = serde_json_lenient::from_reader(reader).log_err() else {
continue;
};