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)([ibu])>")
_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"")