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:
parent
b56bd7caa8
commit
a34a24f4e7
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue