settings: accept trailing commas (#2606)
Z-2357 I've found a crate that handles both comments and trailing commas in JSON. It is a fork of `serde_json`, but it is maintained & up-to-date. Sadly RawValue seems to not play nicely with it; I've ran into deserialisation issues around use of RawValue. For this PR I've migrated to `Value` API. Obviously this is just a point of discussion, not something I'd merge straight away. There may be better solutions to this particular problem. I've also noticed that `serde_json_lenient` does not handle trailing commas after bindings array. I'm not sure how big of an issue that is. Release Notes: - Improved handling of trailing commas in settings files. [#1322](https://github.com/zed-industries/community/issues/1322)
This commit is contained in:
parent
70ccbbafc1
commit
2a3c660d1f
7 changed files with 81 additions and 40 deletions
|
@ -21,7 +21,7 @@ util = { path = "../util" }
|
|||
|
||||
anyhow.workspace = true
|
||||
futures.workspace = true
|
||||
json_comments = "0.2"
|
||||
serde_json_lenient = {version = "0.1", features = ["preserve_order", "raw_value"]}
|
||||
lazy_static.workspace = true
|
||||
postage.workspace = true
|
||||
rust-embed.workspace = true
|
||||
|
@ -37,6 +37,6 @@ tree-sitter-json = "*"
|
|||
[dev-dependencies]
|
||||
gpui = { path = "../gpui", features = ["test-support"] }
|
||||
fs = { path = "../fs", features = ["test-support"] }
|
||||
|
||||
indoc.workspace = true
|
||||
pretty_assertions = "1.3.0"
|
||||
unindent.workspace = true
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue