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()