diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/style-reader.js | 2 | ||||
| -rw-r--r-- | lib/styles/document-matchers.js | 14 |
2 files changed, 14 insertions, 2 deletions
diff --git a/lib/style-reader.js b/lib/style-reader.js index 2889554..fe80006 100644 --- a/lib/style-reader.js +++ b/lib/style-reader.js @@ -74,7 +74,7 @@ function documentMatcherRule() { lop.rules.tokenOfType("close-square-bracket") ).head(), function(styleName) { - return {styleName: styleName}; + return {styleName: documentMatchers.equalTo(styleName)}; } ); diff --git a/lib/styles/document-matchers.js b/lib/styles/document-matchers.js index bdc213c..38ac049 100644 --- a/lib/styles/document-matchers.js +++ b/lib/styles/document-matchers.js @@ -5,6 +5,7 @@ exports.italic = new Matcher("italic"); exports.underline = new Matcher("underline"); exports.strikethrough = new Matcher("strikethrough"); exports.commentReference = new Matcher("commentReference"); +exports.equalTo = equalTo; function paragraph(options) { @@ -29,7 +30,7 @@ function Matcher(elementType, options) { Matcher.prototype.matches = function(element) { return element.type === this._elementType && (this._styleId === undefined || element.styleId === this._styleId) && - (this._styleName === undefined || (element.styleName && element.styleName.toUpperCase() === this._styleName.toUpperCase())) && + (this._styleName === undefined || (element.styleName && this._styleName.operator(this._styleName.operand, element.styleName))) && (this._listIndex === undefined || isList(element, this._listIndex, this._listIsOrdered)); }; @@ -38,3 +39,14 @@ function isList(element, levelIndex, isOrdered) { element.numbering.level == levelIndex && element.numbering.isOrdered == isOrdered; } + +function equalTo(value) { + return { + operator: equals, + operand: value + }; +} + +function equals(first, second) { + return first.toUpperCase() === second.toUpperCase(); +} |
