Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-db/src/documentation.rs')
-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 26f3cd28a2..cc8e843170 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');
}