about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--crates/rust-analyzer/src/config.rs12
-rw-r--r--editors/code/package.json2
2 files changed, 11 insertions, 3 deletions
diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs
index 32e4e8ebeeb..81f4ccd365c 100644
--- a/crates/rust-analyzer/src/config.rs
+++ b/crates/rust-analyzer/src/config.rs
@@ -1290,6 +1290,8 @@ mod tests {
         schema.push_str(",\n");
 
         // Transform the asciidoc form link to markdown style.
+        //
+        // https://link[text] => [text](https://link)
         let url_matches = schema.match_indices("https://");
         let mut url_offsets = url_matches.map(|(idx, _)| idx).collect::<Vec<usize>>();
         url_offsets.reverse();
@@ -1298,8 +1300,14 @@ mod tests {
             // matching on whitespace to ignore normal links
             if let Some(link_end) = link.find(|c| c == ' ' || c == '[') {
                 if link.chars().nth(link_end) == Some('[') {
-                    schema.insert(idx, '(');
-                    schema.insert(idx + link_end + 1, ')');
+                    if let Some(link_text_end) = link.find(']') {
+                        let link_text = link[link_end..(link_text_end + 1)].to_string();
+
+                        schema.replace_range((idx + link_end)..(idx + link_text_end + 1), "");
+                        schema.insert(idx, '(');
+                        schema.insert(idx + link_end + 1, ')');
+                        schema.insert_str(idx, &link_text);
+                    }
                 }
             }
         }
diff --git a/editors/code/package.json b/editors/code/package.json
index fffaf6c9b86..336081e88c5 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 [following order](https://rust-analyzer.github.io/manual.html#auto-import). Groups are separated by newlines.",
                     "default": true,
                     "type": "boolean"
                 },