pub fn closer(&self) -> &'a str {
match *self {
- CommentStyle::DoubleSlash |
- CommentStyle::TripleSlash |
- CommentStyle::Custom(..) |
- CommentStyle::Doc => "",
+ CommentStyle::DoubleSlash
+ | CommentStyle::TripleSlash
+ | CommentStyle::Custom(..)
+ | CommentStyle::Doc => "",
CommentStyle::DoubleBullet => " **/",
CommentStyle::SingleBullet | CommentStyle::Exclamation => " */",
}
};
Some(format!(
"{}{}{}{}{}",
- prev_str,
- first_sep,
- missing_comment,
- second_sep,
- next_str,
+ prev_str, first_sep, missing_comment, second_sep, next_str,
))
}
// we should stop now.
let num_bare_lines = orig.lines()
.map(|line| line.trim())
- .filter(|l| {
- !(l.starts_with('*') || l.starts_with("//") || l.starts_with("/*"))
- })
+ .filter(|l| !(l.starts_with('*') || l.starts_with("//") || l.starts_with("/*")))
.count();
if num_bare_lines > 0 && !config.normalize_comments() {
return Some(orig.to_owned());
let mut result = opener.to_owned();
let mut is_prev_line_multi_line = false;
+ let mut inside_code_block = false;
let comment_line_separator = format!("\n{}{}", indent_str, line_start);
for line in lines {
if result == opener {
if line.is_empty() {
continue;
}
+ } else if is_prev_line_multi_line && !line.is_empty() {
+ result.push(' ')
} else {
- if is_prev_line_multi_line && !line.is_empty() {
- result.push(' ')
- } else {
- result.push_str(&comment_line_separator);
- }
+ result.push_str(&comment_line_separator);
+ }
+
+ if line.starts_with("```") {
+ inside_code_block = !inside_code_block;
+ }
+ if inside_code_block {
+ result.push_str(line);
+ continue;
}
if config.wrap_comments() && line.len() > fmt.shape.width && !has_url(line) {
impl FullCodeCharKind {
fn is_comment(&self) -> bool {
match *self {
- FullCodeCharKind::StartComment |
- FullCodeCharKind::InComment |
- FullCodeCharKind::EndComment => true,
+ FullCodeCharKind::StartComment
+ | FullCodeCharKind::InComment
+ | FullCodeCharKind::EndComment => true,
_ => false,
}
}