From 4a779b8d4fe83a80d99324a947b714c76468a88f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 13 Jun 2024 12:16:25 +0100 Subject: Support style mapping for highlights --- mammoth/styles/parser/document_matcher_parser.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'mammoth/styles/parser/document_matcher_parser.py') 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") -- cgit v1.2.3