From ffc6cdd8714b44a7a50648109fdc8eb42b580c2c Mon Sep 17 00:00:00 2001 From: Dezhi Wu Date: Thu, 28 Oct 2021 10:13:43 +0800 Subject: [PATCH] Fix: transform the asciidoc form link to markdown style when generating the package.json --- crates/rust-analyzer/src/config.rs | 19 +++++++++++++++++-- editors/code/package.json | 2 +- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs index 0d6b1bcbfb0..ee6ab698fa4 100644 --- a/crates/rust-analyzer/src/config.rs +++ b/crates/rust-analyzer/src/config.rs @@ -1289,6 +1289,21 @@ mod tests { .to_string(); schema.push_str(",\n"); + let mut new_schema = schema.clone(); + let url_matches = schema.match_indices("https://"); + let mut cnt = 0; + for (idx, _) in url_matches { + let link = &schema[idx..]; + // matching on whitespace to ignore normal links + if let Some(link_end) = link.find(|c| c == ' ' || c == '[') { + if link.chars().nth(link_end) == Some('[') { + new_schema.insert(idx + cnt, '('); + new_schema.insert(idx + link_end + cnt + 1, ')'); + cnt = cnt + 2; + } + } + } + let package_json_path = project_root().join("editors/code/package.json"); let mut package_json = fs::read_to_string(&package_json_path).unwrap(); @@ -1299,9 +1314,9 @@ mod tests { let end = package_json.find(end_marker).unwrap(); let p = remove_ws(&package_json[start..end]); - let s = remove_ws(&schema); + let s = remove_ws(&new_schema); if !p.contains(&s) { - package_json.replace_range(start..end, &schema); + package_json.replace_range(start..end, &new_schema); ensure_file_contents(&package_json_path, &package_json) } } diff --git a/editors/code/package.json b/editors/code/package.json index ab69a44c9ab..fffaf6c9b86 100644 --- a/editors/code/package.json +++ b/editors/code/package.json @@ -436,7 +436,7 @@ ] }, "rust-analyzer.assist.importGroup": { - "markdownDescription": "Group inserted imports by the https://rust-analyzer.github.io/manual.html#auto-import [following order]. Groups are separated by newlines.", + "markdownDescription": "Group inserted imports by the (https://rust-analyzer.github.io/manual.html#auto-import)[following order]. Groups are separated by newlines.", "default": true, "type": "boolean" },