From 72ad04159683e8958ff957695fc9bb224fc376ca Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 28 Nov 2016 21:22:41 +0000 Subject: Parse break style mappings --- lib/style-reader.js | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'lib') 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 ); } -- cgit v1.2.3