Skip to content

Commit 9e14bbe

Browse files
mounilKshahDishti-Oberai
authored andcommitted
themes/boxes: Add msg_heading style to themes & render message headings.
New test cases added under test_soup2markup. Fixes zulip#1095.
1 parent 7914a41 commit 9e14bbe

File tree

7 files changed

+14
-0
lines changed

7 files changed

+14
-0
lines changed

tests/ui/test_ui_tools.py

+6
Original file line numberDiff line numberDiff line change
@@ -1358,6 +1358,12 @@ def test_private_message_to_self(self, mocker):
13581358
[("msg_mention", "@Bob Smith")],
13591359
id="user-mention",
13601360
),
1361+
case("<h1>heading1</h1>", [("msg_heading", "heading1")], id="h1"),
1362+
case("<h2>heading2</h2>", [("msg_heading", "heading2")], id="h2"),
1363+
case("<h3>heading3</h3>", [("msg_heading", "heading3")], id="h3"),
1364+
case("<h4>heading4</h4>", [("msg_heading", "heading4")], id="h4"),
1365+
case("<h5>heading5</h5>", [("msg_heading", "heading5")], id="h5"),
1366+
case("<h6>heading6</h6>", [("msg_heading", "heading6")], id="h6"),
13611367
case(
13621368
'<span class="user-group-mention">@A Group',
13631369
[("msg_mention", "@A Group")],

zulipterminal/config/themes.py

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
'msg_emoji' : 'bold',
3939
'reaction' : 'bold',
4040
'reaction_mine' : 'standout',
41+
'msg_heading' : 'bold',
4142
'msg_math' : 'standout',
4243
'msg_mention' : 'bold',
4344
'msg_link' : '',

zulipterminal/themes/gruvbox.py

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ class GruvBoxColor(Enum):
6161
'msg_emoji' : (Color.NEUTRAL_PURPLE, Color.DARK0_HARD),
6262
'reaction' : (Color.NEUTRAL_PURPLE__BOLD, Color.DARK0_HARD),
6363
'reaction_mine' : (Color.DARK0_HARD, Color.NEUTRAL_PURPLE),
64+
'msg_heading' : (Color.DARK0_HARD__BOLD, Color.BRIGHT_GREEN),
6465
'msg_math' : (Color.DARK0_HARD, Color.GRAY_244),
6566
'msg_mention' : (Color.BRIGHT_RED__BOLD, Color.DARK0_HARD),
6667
'msg_link' : (Color.BRIGHT_BLUE, Color.DARK0_HARD),

zulipterminal/themes/zt_blue.py

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
'msg_emoji' : (Color.DARK_MAGENTA, Color.LIGHT_BLUE),
3232
'reaction' : (Color.DARK_MAGENTA__BOLD, Color.LIGHT_BLUE),
3333
'reaction_mine' : (Color.LIGHT_BLUE, Color.DARK_MAGENTA),
34+
'msg_heading' : (Color.WHITE__BOLD, Color.BLACK),
3435
'msg_math' : (Color.LIGHT_GRAY, Color.DARK_GRAY),
3536
'msg_mention' : (Color.LIGHT_RED__BOLD, Color.LIGHT_BLUE),
3637
'msg_link' : (Color.DARK_BLUE, Color.LIGHT_GRAY),

zulipterminal/themes/zt_dark.py

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
'msg_emoji' : (Color.LIGHT_MAGENTA, Color.BLACK),
3232
'reaction' : (Color.LIGHT_MAGENTA__BOLD, Color.BLACK),
3333
'reaction_mine' : (Color.BLACK, Color.LIGHT_MAGENTA),
34+
'msg_heading' : (Color.LIGHT_CYAN__BOLD, Color.DARK_MAGENTA),
3435
'msg_math' : (Color.LIGHT_GRAY, Color.DARK_GRAY),
3536
'msg_mention' : (Color.LIGHT_RED__BOLD, Color.BLACK),
3637
'msg_link' : (Color.LIGHT_BLUE, Color.BLACK),

zulipterminal/themes/zt_light.py

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
'msg_emoji' : (Color.LIGHT_MAGENTA, Color.WHITE),
3232
'reaction' : (Color.LIGHT_MAGENTA__BOLD, Color.WHITE),
3333
'reaction_mine' : (Color.WHITE, Color.LIGHT_MAGENTA),
34+
'msg_heading' : (Color.WHITE__BOLD, Color.DARK_RED),
3435
'msg_math' : (Color.DARK_GRAY, Color.LIGHT_GRAY),
3536
'msg_mention' : (Color.LIGHT_RED__BOLD, Color.WHITE),
3637
'msg_link' : (Color.DARK_BLUE, Color.WHITE),

zulipterminal/ui_tools/boxes.py

+3
Original file line numberDiff line numberDiff line change
@@ -1236,6 +1236,9 @@ def soup2markup(
12361236
text = unrendered_tags[tag]
12371237
if text:
12381238
markup.append(unrendered_template.format(text))
1239+
elif tag in ("h1", "h2", "h3", "h4", "h5", "h6"):
1240+
# HEADING STYLE (h1 to h6)
1241+
markup.append(("msg_heading", tag_text))
12391242
elif tag in ("p", "del"):
12401243
# PARAGRAPH, STRIKE-THROUGH
12411244
markup.extend(cls.soup2markup(element, metadata)[0])

0 commit comments

Comments
 (0)