]> git.lizzy.rs Git - rust.git/blobdiff - src/librustdoc/passes/unindent_comments.rs
Auto merge of #69586 - petrochenkov:unmerge, r=Centril
[rust.git] / src / librustdoc / passes / unindent_comments.rs
index 7ad98242fdc92c285b714c61136f031bb3c144f4..d4e09ce47a3c1aa173e5c83e7c83664eb6d9f015 100644 (file)
@@ -12,7 +12,7 @@
 
 pub const UNINDENT_COMMENTS: Pass = Pass {
     name: "unindent-comments",
-    pass: unindent_comments,
+    run: unindent_comments,
     description: "removes excess indentation on comments in order for markdown to like it",
 };
 
@@ -38,34 +38,28 @@ pub fn unindent_doc_comments(&mut self) {
 fn unindent_fragments(docs: &mut Vec<DocFragment>) {
     for fragment in docs {
         match *fragment {
-            DocFragment::SugaredDoc(_, _, ref mut doc_string) |
-            DocFragment::RawDoc(_, _, ref mut doc_string) |
-            DocFragment::Include(_, _, _, ref mut doc_string) =>
-                *doc_string = unindent(doc_string),
+            DocFragment::SugaredDoc(_, _, ref mut doc_string)
+            | DocFragment::RawDoc(_, _, ref mut doc_string)
+            | DocFragment::Include(_, _, _, ref mut doc_string) => {
+                *doc_string = unindent(doc_string)
+            }
         }
     }
 }
 
 fn unindent(s: &str) -> String {
-    let lines = s.lines().collect::<Vec<&str> >();
+    let lines = s.lines().collect::<Vec<&str>>();
     let mut saw_first_line = false;
     let mut saw_second_line = false;
     let min_indent = lines.iter().fold(usize::MAX, |min_indent, line| {
-
         // After we see the first non-whitespace line, look at
         // the line we have. If it is not whitespace, and therefore
         // part of the first paragraph, then ignore the indentation
         // level of the first line
         let ignore_previous_indents =
-            saw_first_line &&
-            !saw_second_line &&
-            !line.chars().all(|c| c.is_whitespace());
+            saw_first_line && !saw_second_line && !line.chars().all(|c| c.is_whitespace());
 
-        let min_indent = if ignore_previous_indents {
-            usize::MAX
-        } else {
-            min_indent
-        };
+        let min_indent = if ignore_previous_indents { usize::MAX } else { min_indent };
 
         if saw_first_line {
             saw_second_line = true;
@@ -91,15 +85,20 @@ fn unindent(s: &str) -> String {
     });
 
     if !lines.is_empty() {
-        let mut unindented = vec![ lines[0].trim_start().to_string() ];
-        unindented.extend_from_slice(&lines[1..].iter().map(|&line| {
-            if line.chars().all(|c| c.is_whitespace()) {
-                line.to_string()
-            } else {
-                assert!(line.len() >= min_indent);
-                line[min_indent..].to_string()
-            }
-        }).collect::<Vec<_>>());
+        let mut unindented = vec![lines[0].trim_start().to_string()];
+        unindented.extend_from_slice(
+            &lines[1..]
+                .iter()
+                .map(|&line| {
+                    if line.chars().all(|c| c.is_whitespace()) {
+                        line.to_string()
+                    } else {
+                        assert!(line.len() >= min_indent);
+                        line[min_indent..].to_string()
+                    }
+                })
+                .collect::<Vec<_>>(),
+        );
         unindented.join("\n")
     } else {
         s.to_string()