Tweak the editor auto-replace logic to allow markup for dialogue (#2488)

This commit is contained in:
Veronica Berglyd Olsen
2025-07-27 12:25:09 +02:00
parent e9407e0152
commit d4fc440725
+37 -23
View File
@@ -2335,33 +2335,47 @@ class TextAutoReplace:
t4 = text[-4:]
leading = t2[:1].isspace()
if self._replaceDQuote:
if leading and t2.endswith('"'):
if self._replaceDQuote and t1 == '"':
if pos == 1:
return 1, self._quoteDO
elif t1 == '"':
if pos == 1:
return 1, self._quoteDO
elif pos == 2 and t2 == '>"':
return 1, self._quoteDO
elif pos == 3 and t3 == '>>"':
return 1, self._quoteDO
else:
return 1, self._quoteDC
elif leading and t2.endswith('"'):
return 1, self._quoteDO
elif pos == 2 and t2 == '>"':
return 1, self._quoteDO
elif pos == 3 and t3 == '>>"':
return 1, self._quoteDO
elif pos == 2 and t2 == '_"':
return 1, self._quoteDO
elif t3 == ' _"':
return 1, self._quoteDO
elif pos == 3 and t3 in ('**"', '=="', '~~"'):
return 1, self._quoteDO
elif t4 in (' **"', ' =="', ' ~~"'):
return 1, self._quoteDO
else:
return 1, self._quoteDC
if self._replaceSQuote:
if leading and t2.endswith("'"):
if self._replaceSQuote and t1 == "'":
if pos == 1:
return 1, self._quoteSO
elif t1 == "'":
if pos == 1:
return 1, self._quoteSO
elif pos == 2 and t2 == ">'":
return 1, self._quoteSO
elif pos == 3 and t3 == ">>'":
return 1, self._quoteSO
else:
return 1, self._quoteSC
elif leading and t2.endswith("'"):
return 1, self._quoteSO
elif pos == 2 and t2 == ">'":
return 1, self._quoteSO
elif pos == 3 and t3 == ">>'":
return 1, self._quoteSO
elif pos == 2 and t2 == "_'":
return 1, self._quoteDO
elif t3 == " _'":
return 1, self._quoteDO
elif pos == 3 and t3 in ("**'", "=='", "~~'"):
return 1, self._quoteDO
elif t4 in (" **'", " =='", " ~~'"):
return 1, self._quoteDO
else:
return 1, self._quoteSC
if self._replaceDash:
if self._replaceDash and t1 == "-":
if t4 == "----":
return 4, "\u2015" # Horizontal bar
elif t3 == "---":