From 24497500d30a6719b2eb92c3795ab067e2cdf14f Mon Sep 17 00:00:00 2001 From: Quentin Carbonneaux Date: Fri, 8 May 2020 13:29:50 +0200 Subject: Simplify splitting --- doc/tools/coqrst/coqdomain.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/doc/tools/coqrst/coqdomain.py b/doc/tools/coqrst/coqdomain.py index 253fc5283f..df11960403 100644 --- a/doc/tools/coqrst/coqdomain.py +++ b/doc/tools/coqrst/coqdomain.py @@ -905,17 +905,13 @@ class CoqtopBlocksTransform(Transform): return isinstance(node, nodes.Element) and 'coqtop_options' in node @staticmethod - def split_sentences(node): - """Split Coq sentences in source. Could be improved.""" - lines = map(lambda s: s.rstrip(), node.rawsource.splitlines()) - out = [""] - for l in lines: - out[-1] = out[-1] + l + "\n" - if l.endswith("."): - out.append("") - if out[-1] == "": - out.pop() - return out + def split_lines(source): + """Split Coq input in chunks + + A chunk is a minimal sequence of consecutive lines of the input that + ends with a '.' + """ + return re.split(r"(?<=(?