Open gregnis opened 2 weeks ago
tree-sitter --version
tree-sitter 0.22.6 (b40f342067a89cd6331bf4c27407588320f3c263)
Here's the file I parsed:
function expand_dgttsp(token, result_sentence) if trigger ~= "WEB" then function nocase (s) s = string.gsub(s, "%a", function (c) return string.format("[%s%s]", string.lower(c), string.upper(c)) end) return s end token, count = string.gsub( token, "\/", " !BREAK! " ) --token, count = string.gsub( token, "Xi%s([A-Z])", "/+'si/+ %1" ) token = " "..token.." " token = lang_spec_abbr(token, result_sentence) for word, sign in string.gfind(token, "(%a+)([%p ])") do word2 = nil if sign ~= " " then word2 = word..sign end if abbr_cs[word] ~= nil then token, count = string.gsub( token, " "..word.." ", " "..abbr_cs[word].." " ) if word2 ~= nil then token, count = string.gsub( token, " "..word2.." ", " "..abbr_cs[word].." " ) end end expr1 = nocase(word) if word2 ~= nil then expr2 = expr1.."[\\"..sign.."]" end word = string.lower(word) if abbr_begin[word] ~= nil then token, count = string.gsub( token, "^ "..expr1.." ", abbr_begin[word].." " ) if word2 ~= nil then token, count = string.gsub( token, "^ "..expr2.." ", abbr_begin[word].." " ) end end if abbr_end[word] ~= nil then token, count = string.gsub( token, " "..expr1.." $", " "..abbr_end[word] ) if word2 ~= nil then token, count = string.gsub( token, " "..expr2.." $", " "..abbr_end[word] ) end end if abbr_misc[word] ~= nil then token, count = string.gsub( token, " "..expr1.." ", " "..abbr_misc[word].." " ) if word2 ~= nil then token, count = string.gsub( token, " "..expr2.." ", " "..abbr_misc[word].." " ) end end end end return token end function get_maneuver_group() guidance_mode = "publicTransport" result_id = {"p","t","0","0","0","0","0","0"} group_types = { ["drive"] = "a", ["pedestrian"] = "b", ["pedestrian_walk_to"] = "c", ["pedestrian_get_off_and_arrive"] = "d", ["pedestrian_get_off_and_walk_to"] = "e", ["public_transport_take_and_get_out"] = "f", ["public_transport_take_and_change"] = "g", } group_instruction_type = { ["summary"] = "a", ["arrival"] = "b", ["wait"] = "c", } set_result_id( 5, group_types[maneuver_group.maneuver_group_type] ) set_result_id( 6, group_instruction_type[maneuver_group.maneuver_group_instruction_type] ) if ( maneuver_group.maneuver_group_type == "public_transport_take_and_get_out" or maneuver_group.maneuver_group_type == "public_transport_take_and_change" ) and ( maneuver_group.line_destination == nil or maneuver_group.line_destination == "" ) and ( maneuver_group.maneuver_group_instruction_type == "summary" ) then set_result_id( 6, "d" ) end if ( maneuver_group.maneuver_group_type == "drive" or maneuver_group.maneuver_group_type == "pedestrian" or maneuver_group.maneuver_group_type == "pedestrian_get_off_and_arrive" ) and ( maneuver_group.street == nil or maneuver_group.street == "" ) and ( maneuver_group.maneuver_group_instruction_type == "arrival" ) then set_result_id( 6, "d" ) end if maneuver_group.street ~= nil then tts_street_1 = maneuver_group.street else tts_street_1 = "" end if maneuver_group.station_name ~= nil then station_name = maneuver_group.station_name else station_name = "" end if maneuver_group.transit_type ~= nil then if transit_type_list[maneuver_group.transit_type][1] ~= nil and transit_types ~= nil then transit_type = transit_types[transit_type_list[maneuver_group.transit_type][1]] else transit_type = "" end else transit_type = "" end if maneuver_group.line_name ~= nil then line_name = maneuver_group.line_name else line_name = "" end if maneuver_group.line_destination ~= nil then line_destination = maneuver_group.line_destination else line_destination = "" end if maneuver_group.next_station_name ~= nil then next_station_name = maneuver_group.next_station_name else next_station_name = "" end if maneuver_group.company_short_name ~= nil then station_company_name = maneuver_group.company_short_name else station_company_name = "" end if maneuver_group.time_to_wait ~= nil then time_to_wait = tostring(maneuver_group.time_to_wait) else time_to_wait = "0" end filter_double_street_on_street_signpost_combination( ) command_id_1 = result_id[1]..result_id[2]..result_id[3]..result_id[4]..result_id[5]..result_id[6]..result_id[7]..result_id[8] sentence_1 = set_result( command_id_1 ) end
Highlighting stops in the middle if line 12
token, count = string.gsub( token, "\/", " !BREAK! " )
and comes back in 120. Commenting out line 12 restores highlighting.
Run the playground with the file above and use highlights.scm from the repo.
See above.
No response
I attached the failing file here (change .lua.txt to .lua) common2.lua.txt. And here's the tree: tree.txt
Did you check existing issues?
Tree-Sitter CLI Version, if relevant (output of
tree-sitter --version
)tree-sitter 0.22.6 (b40f342067a89cd6331bf4c27407588320f3c263)
Describe the bug
Here's the file I parsed:
Highlighting stops in the middle if line 12
token, count = string.gsub( token, "\/", " !BREAK! " )
and comes back in 120. Commenting out line 12 restores highlighting.
Steps To Reproduce/Bad Parse Tree
Run the playground with the file above and use highlights.scm from the repo.
Expected Behavior/Parse Tree
See above.
Repro
No response