]> git.lizzy.rs Git - rust.git/blobdiff - util/export.py
Auto merge of #4266 - uHOOCCOOHu:fix/async_fn_lifetime, r=flip1995
[rust.git] / util / export.py
index d8598ed8037a82e59336272b5bdaf7af82f5a952..06b867df396103cacf65d2e376d008b8e643424b 100755 (executable)
@@ -1,18 +1,8 @@
 #!/usr/bin/env python
 
-# Copyright 2014-2018 The Rust Project Developers. See the COPYRIGHT
-# file at the top-level directory of this distribution and at
-# http://rust-lang.org/COPYRIGHT.
-#
-# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-# option. This file may not be copied, modified, or distributed
-# except according to those terms.
-
-
 # Build the gh-pages
 
+from collections import OrderedDict
 import re
 import sys
 import json
@@ -32,33 +22,29 @@ def parse_lint_def(lint):
     lint_dict['id'] = lint.name
     lint_dict['group'] = lint.group
     lint_dict['level'] = lint.level
-    lint_dict['docs'] = {}
+    lint_dict['docs'] = OrderedDict()
 
     last_section = None
 
     for line in lint.doc:
-        if len(line.strip()) == 0 and not last_section.startswith("Example"):
-            continue
-
         match = re.match(lint_subheadline, line)
         if match:
             last_section = match.groups()[0]
-        if match:
             text = match.groups()[1]
         else:
             text = line
 
         if not last_section:
-            log.warn("Skipping comment line as it was not preceded by a heading")
+            log.warning("Skipping comment line as it was not preceded by a heading")
             log.debug("in lint `%s`, line `%s`", lint.name, line)
 
-        fragment = lint_dict['docs'].get(last_section, "")
-        if text == "\n":
-            line = fragment + text
-        else:
-            line = (fragment + "\n" + text).strip()
+        if last_section not in lint_dict['docs']:
+            lint_dict['docs'][last_section] = ""
+
+        lint_dict['docs'][last_section] += text + "\n"
 
-        lint_dict['docs'][last_section] = line
+    for section in lint_dict['docs']:
+        lint_dict['docs'][section] = lint_dict['docs'][section].strip()
 
     return lint_dict