about summary refs log tree commit diff
diff options
context:
space:
mode:
authorriverbl <94326797+riverbl@users.noreply.github.com>2023-12-10 20:54:22 +0000
committerriverbl <94326797+riverbl@users.noreply.github.com>2023-12-10 20:54:22 +0000
commit99b30ba22fa3377d61d5f9f3a33ae80454b4efac (patch)
tree4c0c27b748fce80ddee5957bb844bd32ed341c01
parent4e814e3f246994e235e8efb042a8c6ca74e814f6 (diff)
downloadrust-99b30ba22fa3377d61d5f9f3a33ae80454b4efac.tar.gz
rust-99b30ba22fa3377d61d5f9f3a33ae80454b4efac.zip
Don't trim trailing whitespace from doc comments
Don't trim trailing whitespace from doc comments as multiple trailing spaces indicates a hard line break in Markdown.
-rw-r--r--crates/ide-db/src/documentation.rs16
1 files changed, 7 insertions, 9 deletions
diff --git a/crates/ide-db/src/documentation.rs b/crates/ide-db/src/documentation.rs
index 26f3cd28a27..cc8e8431708 100644
--- a/crates/ide-db/src/documentation.rs
+++ b/crates/ide-db/src/documentation.rs
@@ -138,15 +138,13 @@ pub fn docs_from_attrs(attrs: &hir::Attrs) -> Option<String> {
     for doc in docs {
         // str::lines doesn't yield anything for the empty string
         if !doc.is_empty() {
-            buf.extend(Itertools::intersperse(
-                doc.lines().map(|line| {
-                    line.char_indices()
-                        .nth(indent)
-                        .map_or(line, |(offset, _)| &line[offset..])
-                        .trim_end()
-                }),
-                "\n",
-            ));
+            // We don't trim trailing whitespace from doc comments as multiple trailing spaces
+            // indicates a hard line break in Markdown.
+            let lines = doc.lines().map(|line| {
+                line.char_indices().nth(indent).map_or(line, |(offset, _)| &line[offset..])
+            });
+
+            buf.extend(Itertools::intersperse(lines, "\n"));
         }
         buf.push('\n');
     }