diff --git a/muppet/puppet/format/parser.py b/muppet/puppet/format/parser.py index 828e03b75860cdddb870f9394845c56c83c7686b..ad28c5299df409f2eaee0f7b76dae73666c603e0 100644 --- a/muppet/puppet/format/parser.py +++ b/muppet/puppet/format/parser.py @@ -141,7 +141,12 @@ class rich_char(ParseDirective): case '$': return parser.get(s('$') | r'\$') case _: - return parser.get(self.c) + # Literal linebreaks can apparently be escaped inside + # "rich" strings (thankfully not inside 'plain' strings). + try: + return parser.get(s("\\\n") & self.c) + except ParseError: + return parser.get(self.c) class ParserFormatter(Serializer[ParseDirective]):