diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-06-13 12:16:25 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-06-13 12:16:25 +0100 |
| commit | 4a779b8d4fe83a80d99324a947b714c76468a88f (patch) | |
| tree | 71e9cd15e8a76beb4d7ec4145234ae70ec4c8dae /mammoth/styles/parser/document_matcher_parser.py | |
| parent | 0d5b27652c119dfaf99fae5f4e624c9efec408b5 (diff) | |
Support style mapping for highlights
Diffstat (limited to 'mammoth/styles/parser/document_matcher_parser.py')
| -rw-r--r-- | mammoth/styles/parser/document_matcher_parser.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mammoth/styles/parser/document_matcher_parser.py b/mammoth/styles/parser/document_matcher_parser.py index 9891e4b..e0eb4e1 100644 --- a/mammoth/styles/parser/document_matcher_parser.py +++ b/mammoth/styles/parser/document_matcher_parser.py @@ -52,6 +52,9 @@ def parse_document_matcher(tokens): elif tokens.try_skip(TokenType.IDENTIFIER, "small-caps"): return document_matchers.small_caps + elif tokens.try_skip(TokenType.IDENTIFIER, "highlight"): + return _parse_highlight(tokens) + elif tokens.try_skip(TokenType.IDENTIFIER, "comment-reference"): return document_matchers.comment_reference @@ -98,6 +101,18 @@ def _parse_list_type(tokens): raise LineParseError("Unrecognised list type: {0}".format(list_type)) +def _parse_highlight(tokens): + if tokens.try_skip(TokenType.SYMBOL, "["): + tokens.skip(TokenType.IDENTIFIER, "color") + tokens.skip(TokenType.SYMBOL, "=") + color = parse_string(tokens) + tokens.skip(TokenType.SYMBOL, "]"); + else: + color = None + + return document_matchers.highlight(color=color) + + def _parse_break(tokens): tokens.skip(TokenType.SYMBOL, "[") tokens.skip(TokenType.IDENTIFIER, "type") |
