diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/style-reader.js | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/lib/style-reader.js b/lib/style-reader.js index 20cdb56..3a71ef6 100644 --- a/lib/style-reader.js +++ b/lib/style-reader.js @@ -139,13 +139,35 @@ function documentMatcherRule() { var strikethrough = identifierToConstant("strike", documentMatchers.strikethrough); var commentReference = identifierToConstant("comment-reference", documentMatchers.commentReference); + var breakMatcher = sequence( + lop.rules.token("identifier", "br"), + sequence.cut(), + lop.rules.tokenOfType("open-square-bracket"), + lop.rules.token("identifier", "type"), + lop.rules.tokenOfType("equals"), + sequence.capture(stringRule), + lop.rules.tokenOfType("close-square-bracket") + ).map(function(breakType) { + switch (breakType) { + case "line": + return documentMatchers.lineBreak; + case "page": + return documentMatchers.pageBreak; + case "column": + return documentMatchers.columnBreak; + default: + // TODO: handle unknown document matchers + } + }); + return lop.rules.firstOf("element type", paragraphOrRun, bold, italic, underline, strikethrough, - commentReference + commentReference, + breakMatcher ); } |
