Passing the old and new ranges from buffer_edit_range to Buffer_Tree_Sitter_Data so it can be accessed in the tick for incremental code index updating

This commit is contained in:
Peter Slattery 2025-07-16 11:31:55 -07:00
parent b56bd7caa8
commit a34a24f4e7
3 changed files with 10 additions and 1 deletions

View File

@ -132,6 +132,9 @@ BUFFER_EDIT_RANGE_SIG(custom_buffer_edit_range){
ts_tree_edit(tree_data->tree, &edit);
tree_sitter_parse_incremental(app, buffer_id);
tree_data->last_update_old_range = old_range;
tree_data->last_update_new_range = new_range;
trigger_code_index_update = true;
}
}

View File

@ -589,8 +589,10 @@ tree_sitter_code_index_update_tick(Application_Links* app)
modified_node = modified_node->next
){
Buffer_ID buffer_id = modified_node->buffer;
Managed_Scope buffer_scope = buffer_get_managed_scope(app, buffer_id);
Buffer_Tree_Sitter_Data* tree_data = scope_attachment(app, buffer_scope, buffer_tree_sitter_data_id, Buffer_Tree_Sitter_Data);
if (!tree_data || !tree_data->tree) continue;
// TODO(PS): This should become incremental
tree_sitter_code_index_update_full_file(app, buffer_id);
}
buffer_modified_set_clear();

View File

@ -45,6 +45,10 @@ struct Buffer_Tree_Sitter_Data
{
TSTree* tree;
System_Mutex tree_mutex;
// Code Index Update Requests
Range_i64 last_update_old_range;
Range_i64 last_update_new_range;
};
struct Tree_Sitter_Query_Cursor