@@ -85,7 +85,7 @@ static inline void set_end_character(Delimiter *delimiter, int32_t character) {
8585typedef struct {
8686 Array (uint16_t ) indents ;
8787 Array (Delimiter ) delimiters ;
88- bool inside_f_string ;
88+ bool inside_interpolated_string ;
8989} Scanner ;
9090
9191static inline void advance (TSLexer * lexer ) { lexer -> advance (lexer , false); }
@@ -177,7 +177,7 @@ bool tree_sitter_python_external_scanner_scan(void *payload, TSLexer *lexer, con
177177 lexer -> mark_end (lexer );
178178 array_pop (& scanner -> delimiters );
179179 lexer -> result_symbol = STRING_END ;
180- scanner -> inside_f_string = false;
180+ scanner -> inside_interpolated_string = false;
181181 }
182182 return true;
183183 }
@@ -195,7 +195,7 @@ bool tree_sitter_python_external_scanner_scan(void *payload, TSLexer *lexer, con
195195 advance (lexer );
196196 array_pop (& scanner -> delimiters );
197197 lexer -> result_symbol = STRING_END ;
198- scanner -> inside_f_string = false;
198+ scanner -> inside_interpolated_string = false;
199199 }
200200 lexer -> mark_end (lexer );
201201 return true;
@@ -280,7 +280,7 @@ bool tree_sitter_python_external_scanner_scan(void *payload, TSLexer *lexer, con
280280 if ((valid_symbols [DEDENT ] ||
281281 (!valid_symbols [NEWLINE ] && !(valid_symbols [STRING_START ] && next_tok_is_string_start ) &&
282282 !within_brackets )) &&
283- indent_length < current_indent_length && !scanner -> inside_f_string &&
283+ indent_length < current_indent_length && !scanner -> inside_interpolated_string &&
284284
285285 // Wait to create a dedent token until we've consumed any
286286 // comments
@@ -303,7 +303,8 @@ bool tree_sitter_python_external_scanner_scan(void *payload, TSLexer *lexer, con
303303
304304 bool has_flags = false;
305305 while (lexer -> lookahead ) {
306- if (lexer -> lookahead == 'f' || lexer -> lookahead == 'F' ) {
306+ if (lexer -> lookahead == 'f' || lexer -> lookahead == 'F' || lexer -> lookahead == 't' ||
307+ lexer -> lookahead == 'T' ) {
307308 set_format (& delimiter );
308309 } else if (lexer -> lookahead == 'r' || lexer -> lookahead == 'R' ) {
309310 set_raw (& delimiter );
@@ -349,7 +350,7 @@ bool tree_sitter_python_external_scanner_scan(void *payload, TSLexer *lexer, con
349350 if (end_character (& delimiter )) {
350351 array_push (& scanner -> delimiters , delimiter );
351352 lexer -> result_symbol = STRING_START ;
352- scanner -> inside_f_string = is_format (& delimiter );
353+ scanner -> inside_interpolated_string = is_format (& delimiter );
353354 return true;
354355 }
355356 if (has_flags ) {
@@ -365,7 +366,7 @@ unsigned tree_sitter_python_external_scanner_serialize(void *payload, char *buff
365366
366367 size_t size = 0 ;
367368
368- buffer [size ++ ] = (char )scanner -> inside_f_string ;
369+ buffer [size ++ ] = (char )scanner -> inside_interpolated_string ;
369370
370371 size_t delimiter_count = scanner -> delimiters .size ;
371372 if (delimiter_count > UINT8_MAX ) {
@@ -398,7 +399,7 @@ void tree_sitter_python_external_scanner_deserialize(void *payload, const char *
398399 if (length > 0 ) {
399400 size_t size = 0 ;
400401
401- scanner -> inside_f_string = (bool )buffer [size ++ ];
402+ scanner -> inside_interpolated_string = (bool )buffer [size ++ ];
402403
403404 size_t delimiter_count = (uint8_t )buffer [size ++ ];
404405 if (delimiter_count > 0 ) {
0 commit comments