diff --git a/src/formatters.nim b/src/formatters.nim index 83b2835..fe78d69 100644 --- a/src/formatters.nim +++ b/src/formatters.nim @@ -8,7 +8,7 @@ from unicode import Rune, `$` const urlRegex = re"((https?|ftp)://(-\.)?([^\s/?\.#]+\.?)+([/\?][^\s\)]*)?)" emailRegex = re"([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)" - usernameRegex = re"(^|[^A-z])@([A-z0-9_]+)" + usernameRegex = re"(^|[^A-z0-9_?])@([A-z0-9_]+)" picRegex = re"pic.twitter.com/[^ ]+" cardRegex = re"(https?://)?cards.twitter.com/[^ ]+" ellipsisRegex = re" ?…" @@ -55,6 +55,7 @@ proc linkifyText*(text: string): string = result = result.replace(usernameRegex, reUsernameToLink) result = result.replace(re"([^\s\(\n%])\s+([;.,!\)'%]|')", "$1") + result = result.replace(re"^\.