Skip to content

Commit 31b7fe9

Browse files
Fix more cases where lazy is not highlighted in repl (#36)
1 parent cd1878c commit 31b7fe9

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

Lib/_pyrepl/utils.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,11 @@ def is_soft_keyword_used(*tokens: TI | None) -> bool:
276276
TI(T.NAME, string=s)
277277
):
278278
return not keyword.iskeyword(s)
279-
case (None | TI(T.NEWLINE) | TI(T.INDENT) | TI(T.DEDENT), TI(string="lazy"), TI(string="import") | TI(string="from")):
279+
case (
280+
None | TI(T.NEWLINE) | TI(T.INDENT) | TI(T.DEDENT) | TI(string=":" | ";"),
281+
TI(string="lazy"),
282+
TI(string="import") | TI(string="from")
283+
):
280284
return True
281285
case _:
282286
return False

Lib/test/test_pyrepl/test_utils.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ def test_gen_colors_keyword_highlighting(self):
9696
("list", [("list", "builtin")]),
9797
(" \n dict", [("dict", "builtin")]),
9898
(" lazy import", [("lazy", "soft_keyword"), ("import", "keyword")]),
99-
("lazy from cool_people import pablo", [('lazy', 'soft_keyword'), ('from', 'keyword'), ('import', 'keyword')])
99+
("lazy from cool_people import pablo", [('lazy', 'soft_keyword'), ('from', 'keyword'), ('import', 'keyword')]),
100+
("if sad: lazy import happy", [("if", "keyword"), (":", "op"), ("lazy", "soft_keyword"), ("import", "keyword")]),
101+
("pass; lazy import z", [("pass", "keyword"), (';', 'op'), ("lazy", "soft_keyword"), ("import", "keyword")])
100102
]
101103
for code, expected_highlights in cases:
102104
with self.subTest(code=code):

0 commit comments

Comments
 (0)