Unnamed repository; edit this file 'description' to name the repository.
Update config.rs
| -rw-r--r-- | crates/rust-analyzer/src/config.rs | 20 |
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(); |