From 9d95431809b5ae6396ad5b3edde42e66b632a60d Mon Sep 17 00:00:00 2001 From: 0xMRTT <0xMRTT@proton.me> Date: Sun, 20 Aug 2023 12:40:48 +0200 Subject: [PATCH] fix: code block --- src/widgets/item.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/widgets/item.py b/src/widgets/item.py index 50b1fd8..ff96a45 100644 --- a/src/widgets/item.py +++ b/src/widgets/item.py @@ -75,10 +75,15 @@ class Item(Gtk.Box): self.convert_content_to_pango() result = "" + is_code = False for line in self.content_markup: - if isinstance(line, str): - result += f"{line}\n" - else: # code + if "`" in line.strip(): + if is_code: + is_code = False + else: + is_code = True + continue + if is_code or not isinstance(line, str): label = Gtk.Label() label.set_use_markup(True) label.set_wrap(True) @@ -91,10 +96,16 @@ class Item(Gtk.Box): label.set_halign(Gtk.Align.START) self.content.append(label) - result = "\n".join(line) + if not isinstance(line, str): + result = "\n".join(line.strip()) + else: + result = line.strip() self.content.append(CodeBlock(result)) result = "" + else: + result += f"{line}\n" + else: if not result.strip() == "`": label = Gtk.Label()