about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeremy Stucki <jeremy@myelin.ch>2019-08-18 18:04:18 +0200
committerJeremy Stucki <jeremy@myelin.ch>2019-08-18 18:04:18 +0200
commitdf211ff467e386e346662874ccb6128f7089bd0e (patch)
tree2e6f1e405dd65c1cf80d97d60a66122c12acd132
parente92c48989f1c8a3356cde3829c88408da9d8c983 (diff)
downloadrust-df211ff467e386e346662874ccb6128f7089bd0e.tar.gz
rust-df211ff467e386e346662874ccb6128f7089bd0e.zip
Ignore lines starting with '#'
-rwxr-xr-xutil/export.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/util/export.py b/util/export.py
index 06b867df396..e8fc4d84ea4 100755
--- a/util/export.py
+++ b/util/export.py
@@ -10,6 +10,7 @@ import json
 from lintlib import parse_all, log
 
 lint_subheadline = re.compile(r'''^\*\*([\w\s]+?)[:?.!]?\*\*(.*)''')
+rust_code_block = re.compile(r'''```rust.+?```''', flags=re.DOTALL)
 
 CONF_TEMPLATE = """\
 This lint has the following configuration variables:
@@ -17,6 +18,16 @@ This lint has the following configuration variables:
 * `%s: %s`: %s (defaults to `%s`)."""
 
 
+def parse_code_block(match):
+    lines = []
+
+    for line in match.group(0).split('\n'):
+        if not line.startswith('# '):
+            lines.append(line)
+
+    return '\n'.join(lines)
+
+
 def parse_lint_def(lint):
     lint_dict = {}
     lint_dict['id'] = lint.name
@@ -44,7 +55,7 @@ def parse_lint_def(lint):
         lint_dict['docs'][last_section] += text + "\n"
 
     for section in lint_dict['docs']:
-        lint_dict['docs'][section] = lint_dict['docs'][section].strip()
+        lint_dict['docs'][section] = re.sub(rust_code_block, parse_code_block, lint_dict['docs'][section].strip())
 
     return lint_dict