Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/rust-analyzer/src/markdown.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/crates/rust-analyzer/src/markdown.rs b/crates/rust-analyzer/src/markdown.rs
index 35eaffba8c..59c904f86e 100644
--- a/crates/rust-analyzer/src/markdown.rs
+++ b/crates/rust-analyzer/src/markdown.rs
@@ -25,6 +25,13 @@ pub(crate) fn format_docs(src: &str) -> String {
}
}
+ if in_code_block {
+ let trimmed = line.trim_start();
+ if trimmed.starts_with("##") {
+ line = &trimmed[1..];
+ }
+ }
+
processed_lines.push(line);
}
processed_lines.join("\n")
@@ -136,4 +143,14 @@ let a = 1;
"```text\nfiller\ntext\n```\nSome comment.\n```rust\nlet a = 1;\n```"
);
}
+
+ #[test]
+ fn test_format_docs_handles_escape_double_hashes() {
+ let comment = r#"```rust
+let s = "foo
+## bar # baz";
+```"#;
+
+ assert_eq!(format_docs(comment), "```rust\nlet s = \"foo\n# bar # baz\";\n```");
+ }
}