File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -102,6 +102,8 @@ def gen_colors(buffer: str) -> Iterator[ColorSpan]:
102
102
for color in gen_colors_from_token_stream (gen , line_lengths ):
103
103
yield color
104
104
last_emitted = color
105
+ except SyntaxError :
106
+ return
105
107
except tokenize .TokenError as te :
106
108
yield from recover_unterminated_string (
107
109
te , line_lengths , last_emitted , buffer
Original file line number Diff line number Diff line change @@ -497,6 +497,26 @@ def unfinished_function():
497
497
self .assert_screen_equal (reader , code , clean = True )
498
498
self .assert_screen_equal (reader , expected )
499
499
500
+ def test_syntax_highlighting_indentation_error (self ):
501
+ code = dedent (
502
+ """\
503
+ def unfinished_function():
504
+ var = 1
505
+ oops
506
+ """
507
+ )
508
+ expected = dedent (
509
+ """\
510
+ {k}def{z} {d}unfinished_function{z}{o}({z}{o}){z}{o}:{z}
511
+ var {o}={z} {n}1{z}
512
+ oops
513
+ """
514
+ ).format (** colors )
515
+ events = code_to_events (code )
516
+ reader , _ = handle_all_events (events )
517
+ self .assert_screen_equal (reader , code , clean = True )
518
+ self .assert_screen_equal (reader , expected )
519
+
500
520
def test_control_characters (self ):
501
521
code = 'flag = "🏳️🌈"'
502
522
events = code_to_events (code )
You can’t perform that action at this time.
0 commit comments