From 6ee4ef26e1558287924e163e1c0fddaa59ad5c43 Mon Sep 17 00:00:00 2001 From: Mattia Basaglia Date: Tue, 31 Oct 2023 20:27:24 +0100 Subject: [PATCH] Syntax highlighting support for markdown parse_mode --- telethon/extensions/markdown.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/telethon/extensions/markdown.py b/telethon/extensions/markdown.py index 78f28385..dc8b2f80 100644 --- a/telethon/extensions/markdown.py +++ b/telethon/extensions/markdown.py @@ -99,7 +99,17 @@ def parse(message, delimiters=None, url_re=None): # Append the found entity ent = delimiters[delim] if ent == MessageEntityPre: - result.append(ent(i, end - i - len(delim), '')) # has 'lang' + # Parse ```language + lang = '' + try: + newline = message.index('\n', i, end) + if newline > i: + lang = message[i:newline] + message = message[:i] + message[newline+1:] + end -= len(lang) + 1 + except ValueError: + pass + result.append(ent(i, end - i - len(delim), lang)) else: result.append(ent(i, end - i - len(delim)))