diff --git a/parsetools.py b/parsetools.py index 6ab2867..0eefe4f 100644 --- a/parsetools.py +++ b/parsetools.py @@ -40,7 +40,8 @@ _oocre = re.compile(r"([\[(\{])\1.*([\])\}])\2") # _format_end = re.compile(r"(?i)") _honk = re.compile(r"(?i)\bhonk\b") _groupre = re.compile(r"\\([0-9]+)") -_alternian = re.compile(r".*?") # Matches get set to alternian font +_alternian_begin = re.compile(r"") # Matches get set to alternian font +_alternian_end = re.compile(r"") quirkloader = ScriptQuirks() _functionre = None @@ -170,9 +171,9 @@ class hyperlink(lexercon.Chunk): def convert(self, format): if format == "html": - return "{}".format(self.string, self.string) + return f"{self.string}" elif format == "bbcode": - return "[url]%s[/url]" % (self.string) + return f"[url]{self.string}[/url]" else: return self.string @@ -185,13 +186,27 @@ class hyperlink_lazy(hyperlink): self.string = "http://" + string -class alternianTag(lexercon.Chunk): +class alternianTagBegin(lexercon.Chunk): def __init__(self, string): self.string = string def convert(self, format): if format == "html": - return f"{self.string}" + return "" + elif format == "text": + return "" + return self.string + + +class alternianTagEnd(lexercon.Chunk): + def __init__(self, string): + self.string = string + + def convert(self, format): + if format == "html": + return "" + elif format == "text": + return "" return self.string @@ -296,7 +311,8 @@ def kxlexMsg(msg: str): def lexMessage(string: str): lexlist = [ (mecmd, _mecmdre), - (alternianTag, _alternian), + (alternianTagBegin, _alternian_begin), + (alternianTagEnd, _alternian_end), (colorBegin, _ctag_begin), # (colorBegin, _gtag_begin), (colorEnd, _ctag_end), diff --git a/quirks/gradient.py b/quirks/gradient.py index a72fb79..c02b7fe 100644 --- a/quirks/gradient.py +++ b/quirks/gradient.py @@ -56,7 +56,8 @@ def rainbow(text): re.finditer(_smilere, text), re.finditer(_memore, text), re.finditer(_handlere, text), - re.finditer(_alternian_tags, text), + re.finditer(_alternian_begin, text), + re.finditer(_alternian_end, text), ) for match in match_chain: for color_and_position in colors_and_positions: @@ -162,4 +163,5 @@ _smilere = re.compile("|".join(list(smiledict.keys()))) _urlre = re.compile(r"(?i)(?:^|(?<=\s))(?:(?:https?|ftp)://|magnet:)[^\s]+") _memore = re.compile(r"(\s|^)(#[A-Za-z0-9_]+)") _handlere = re.compile(r"(\s|^)(@[A-Za-z0-9_]+)") -_alternian_tags = re.compile(r"|") +_alternian_begin = re.compile(r"") # Matches get set to alternian font +_alternian_end = re.compile(r"")