+ """
+ Parse a chunk of text from a ParseState.
+
+ Stop when we get to something which looks like a template keyword, but
+ extract tags. Return the resulting template.
+
+ Tags have the form `@COLUMN', or `@{COLUMN:OPERATOR:...}'. The text may
+ contain comments beginning `%#', which are ignored, and lines beginning
+ `%%' which have the initial `%' removed and are otherwise treated as normal
+ text (and, in particular, may contain tags). Other lines beginning with
+ `%' are directives and must be processed by our caller.
+ """
+
+ ## Starting out: no templates collected, and an empty buffer of literal
+ ## text.