aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/style-reader.js24
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
);
}