Unnamed repository; edit this file 'description' to name the repository.
Update config.rs
ChosenName 2024-06-05
parent bf1a3a3 · commit 49806f9
-rw-r--r--crates/rust-analyzer/src/config.rs20
1 files changed, 14 insertions, 6 deletions
diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs
index a8d1e72aed..df8cba0ae3 100644
--- a/crates/rust-analyzer/src/config.rs
+++ b/crates/rust-analyzer/src/config.rs
@@ -2634,11 +2634,19 @@ fn schema(fields: &[SchemaField]) -> serde_json::Value {
.iter()
.map(|(field, ty, doc, default)| {
let name = field.replace('_', ".");
+ let catagory = name.find('.').map(|end| {
+ String::from(&name[..end])
+ }).unwrap_or("general".into());
let name = format!("rust-analyzer.{name}");
let props = field_props(field, ty, doc, default);
- (name, props)
+ serde_json::json!({
+ "title": catagory,
+ "properties": {
+ name: props
+ }
+ })
})
- .collect::<serde_json::Map<_, _>>();
+ .collect::<Vec<_>>();
map.into()
}
@@ -3037,8 +3045,8 @@ mod tests {
let s = Config::json_schema();
let schema = format!("{s:#}");
let mut schema = schema
- .trim_start_matches('{')
- .trim_end_matches('}')
+ .trim_start_matches('[')
+ .trim_end_matches(']')
.replace(" ", " ")
.replace('\n', "\n ")
.trim_start_matches('\n')
@@ -3072,8 +3080,8 @@ mod tests {
let package_json_path = project_root().join("editors/code/package.json");
let mut package_json = fs::read_to_string(&package_json_path).unwrap();
- let start_marker = " \"$generated-start\": {},\n";
- let end_marker = " \"$generated-end\": {}\n";
+ let start_marker = " { \"title\": \"$generated-start\" },\n";
+ let end_marker = " { \"title\": \"$generated-end\" }\n";
let start = package_json.find(start_marker).unwrap() + start_marker.len();
let end = package_json.find(end_marker).unwrap();