blob: e285202fc10e5f6fd5b82f751f46cbb6278cdf1d [file] [log] [blame]
from pyparsing import Literal, LineEnd, ParserElement, StringStart, replaceWith
from jira2markdown.markup.base import AbstractMarkup
from jira2markdown.markup.text_breaks import LineBreak
class LongRuler(AbstractMarkup):
is_inline_element = False
@property
def expr(self) -> ParserElement:
# Text with dashed below it turns into a heading. To prevent this
# add a line break before the dashes.
return (
("\n" | StringStart() | LineBreak(**self.init_kwargs).expr)
+ Literal("-")[5, ...].setParseAction(replaceWith("\n-----"))
+ LineEnd()
)