mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-02 14:51:48 +00:00
Unconditionally trim the end of comments
This commit is contained in:
parent
d65dc40348
commit
0f61aa1f09
2 changed files with 5 additions and 13 deletions
|
@ -181,10 +181,7 @@ fn test_doc_comment_multi_line_block_strips_suffix() {
|
||||||
.ok()
|
.ok()
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let module = file.syntax().descendants().find_map(Module::cast).unwrap();
|
let module = file.syntax().descendants().find_map(Module::cast).unwrap();
|
||||||
assert_eq!(
|
assert_eq!(" this\n is\n mod foo", module.doc_comment_text().unwrap());
|
||||||
" this\n is\n mod foo\n ",
|
|
||||||
module.doc_comment_text().unwrap()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -115,8 +115,8 @@ pub trait DocCommentsOwner: AstNode {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns the textual content of a doc comment block as a single string.
|
/// Returns the textual content of a doc comment block as a single string.
|
||||||
/// That is, strips leading `///` or trailing `*/` (+ optional 1 character of whitespace in either direction)
|
/// That is, strips leading `///` (+ optional 1 character of whitespace),
|
||||||
/// and joins lines.
|
/// trailing `*/`, trailing whitespace and then joins the lines.
|
||||||
fn doc_comment_text(&self) -> Option<String> {
|
fn doc_comment_text(&self) -> Option<String> {
|
||||||
let mut has_comments = false;
|
let mut has_comments = false;
|
||||||
let docs = self
|
let docs = self
|
||||||
|
@ -137,17 +137,12 @@ pub trait DocCommentsOwner: AstNode {
|
||||||
};
|
};
|
||||||
|
|
||||||
let end = if comment.kind().shape.is_block() && line.ends_with("*/") {
|
let end = if comment.kind().shape.is_block() && line.ends_with("*/") {
|
||||||
// FIXME: Use `nth_back` here once stable
|
line.len() - 2
|
||||||
if line.chars().rev().nth(2).map(|c| c.is_whitespace()).unwrap_or(false) {
|
|
||||||
line.len() - 3
|
|
||||||
} else {
|
|
||||||
line.len() - 2
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
line.len()
|
line.len()
|
||||||
};
|
};
|
||||||
|
|
||||||
line[pos..end].to_owned()
|
line[pos..end].trim_end().to_owned()
|
||||||
})
|
})
|
||||||
.join("\n");
|
.join("\n");
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue