Unnamed repository; edit this file 'description' to name the repository.
fix(rustdoc): don't escape double hashes outside of Rust code blocks
Fixes #14376
Daniil Kolesnichenko 2023-03-28
parent 284c174 · commit be17eab
-rw-r--r--crates/rust-analyzer/src/markdown.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/crates/rust-analyzer/src/markdown.rs b/crates/rust-analyzer/src/markdown.rs
index 912ed1e764..58426c66a8 100644
--- a/crates/rust-analyzer/src/markdown.rs
+++ b/crates/rust-analyzer/src/markdown.rs
@@ -28,7 +28,7 @@ pub(crate) fn format_docs(src: &str) -> String {
if in_code_block {
let trimmed = line.trim_start();
- if trimmed.starts_with("##") {
+ if is_rust && trimmed.starts_with("##") {
line = &trimmed[1..];
}
}
@@ -154,4 +154,12 @@ let s = "foo
assert_eq!(format_docs(comment), "```rust\nlet s = \"foo\n# bar # baz\";\n```");
}
+
+ #[test]
+ fn test_format_docs_handles_double_hashes_non_rust() {
+ let comment = r#"```markdown
+## A second-level heading
+```"#;
+ assert_eq!(format_docs(comment), "```markdown\n## A second-level heading\n```");
+ }
}