Skip to content

Commit 2d3aa0d

Browse files
behacklchopan050
andauthored
Ensure leading whitespace does not change line height for lines in CodeMobject (#4392)
Co-authored-by: Francisco Manríquez Novoa <[email protected]>
1 parent a56c06c commit 2d3aa0d

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

manim/mobject/text/code_mobject.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,8 @@ def __init__(
226226
)
227227
self.add(self.line_numbers)
228228

229+
for line in self.code_lines:
230+
line.submobjects = [c for c in line if not isinstance(c, Dot)]
229231
self.add(self.code_lines)
230232

231233
if background_config is None:

tests/test_code_mobject.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import numpy as np
2+
13
from manim.mobject.text.code_mobject import Code
24
from manim.utils.color.core import ManimColor
35

@@ -29,3 +31,17 @@ def test_code_initialization_from_file():
2931
)
3032
assert len(rendered_code.code_lines) == len(rendered_code.line_numbers)
3133
assert rendered_code.background.fill_color == ManimColor("#101010")
34+
35+
36+
def test_line_heights_initial_whitespace():
37+
rendered_code = Code(
38+
code_string="""print('Hello, World!')
39+
for _ in range(42):
40+
print('Hello, World!')
41+
""",
42+
language="python",
43+
)
44+
np.testing.assert_almost_equal(
45+
rendered_code.code_lines[0].height,
46+
rendered_code.code_lines[2].height,
47+
)

0 commit comments

Comments
 (0)