Peter Slattery
504d902ddd
Make initial parse and code index generation happen async
2025-08-05 15:39:04 -07:00
Peter Slattery
4d356ef7b9
Remove code_index__hash_file, it no longer does anything
2025-08-05 15:26:23 -07:00
Peter Slattery
507f4a9d04
Stop shifting nest lists - they are re-created each frame
2025-08-05 15:25:38 -07:00
Peter Slattery
1507f414b1
Cleaning up temp code, unused struct members, and using a Scratch_Block to store buffer_contents during parsing
2025-08-04 00:51:19 -07:00
Peter Slattery
8ad2b5bbff
Incrementally update global_code_index.name_hash
2025-08-04 00:28:09 -07:00
Peter Slattery
a92e364e37
Clean up re-parse range identification logic
2025-08-03 15:36:18 -07:00
Peter Slattery
6d77862b78
Collapse process query match logic back into tree_sitter_code_index_update_process_query_match
2025-08-03 00:00:24 -07:00
Peter Slattery
30ac43ce66
Prevent re-parsing the whole file by identifying the node containing the edit, or the node immediately before and after the edit, and parsing only those. Fall back to root for empty file case
2025-08-02 23:21:46 -07:00
Peter Slattery
12322796c2
Incrementally re-parse notes and scope delimiters within the range of a single edit.
2025-08-02 23:21:01 -07:00
Peter Slattery
6d7f1281b2
Allocate Scope_Delims and Notes from free list before allocating in chunks
2025-07-30 17:03:34 -07:00
Peter Slattery
69dc4f8e04
Remove Code_Index_Note_Ptr_Array from the codebase, use Code_Index_Note_List instead
2025-07-30 16:42:27 -07:00
Peter Slattery
76863fc03a
Fully remove Code_Index_Nest_Ptr_Array from the codebase, use Code_Index_Nest_List instead
2025-07-30 16:27:50 -07:00
Peter Slattery
1dfc106e8c
Parse delimiters before creating the nests tree
2025-07-30 15:38:49 -07:00
Peter Slattery
ee082e42d1
tree_sitter_parse_full_file_async no longer updates the code index
2025-07-16 19:43:14 -07:00
Peter Slattery
a072229d20
Removing unused function get_token_array_from_buffer_no_wait
...
- I added this previously, and the need for it has disappeared
2025-07-16 19:41:03 -07:00
Peter Slattery
a34a24f4e7
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
2025-07-16 11:31:55 -07:00
Peter Slattery
b56bd7caa8
Move code index updating to happen to modified buffers on the tick hook. This will unify the separate paths for updating the code index.
2025-07-16 11:24:23 -07:00
Peter Slattery
94991304b5
Temporarily move all tree-sitter operations to be synchronous
2025-07-16 11:21:41 -07:00
Peter Slattery
3f9b803c62
Move tree-sitter code index updating to an async process to unblock the ui while processing large files
2025-07-14 11:22:39 -07:00
Peter Slattery
ae7440aa0b
custom_render_buffer only requests the token array if it's being used for a feature the user actually requested since requesting the tokens needs to take the lock on the token array.
2025-07-14 11:22:08 -07:00
Peter Slattery
84b1b15fbb
Implement get_token_array_from_buffer_no_wait to return an empty array if the lex task is currently running
2025-07-14 11:19:27 -07:00
Peter Slattery
9ecf49d278
Add typescript support and document how to add a language
2025-07-13 14:37:25 -07:00
Peter Slattery
a5f13529c3
Set a per-language flag for enabling virtual indentation
2025-07-13 14:02:32 -07:00
Peter Slattery
5ed8767819
Buffering code index updates when there are many modified buffers within a single frame
2025-07-13 13:46:55 -07:00
Peter Slattery
18428ec90d
Pull tree_sitter_code_index_update_single_buffer out as it's own routine, and use it in tree_sitter_parse_asyn__inner to avoid setting the buffer_modified flag
2025-07-13 13:27:21 -07:00
Peter Slattery
5ccd6dd2ab
Implemented tree_sitter_code_index_update_tick - populates Code_Index_Nests and Code_Index_Notes from each languages Tags query
...
Switched tree_sitter_list_all_query_results to list Code_Index_Note's matching a Code_Index_Note_Kind in each file
- remove old query types NESTS, FUNCTIONS, TYPES
2025-07-13 11:19:29 -07:00
Peter Slattery
58374ba625
Incorporating the nest query into the cpp tags query
2025-07-13 11:17:56 -07:00
Peter Slattery
67e0420eb1
Indenting 4coder_code_index.cpp
2025-07-13 11:15:48 -07:00
Peter Slattery
336a98f701
Switched to using the default highlight and tags queries for cpp, jai, bash.
2025-07-13 08:44:45 -07:00
Peter Slattery
c5a462993d
Pull language registration into individual per-language files
2025-07-12 12:21:31 -07:00
Peter Slattery
877527e918
Cleaning up noisy build logs
2025-07-11 17:58:58 -07:00
Peter Slattery
324a78ae1e
Implemented function and type queries.
...
Implemented tree_sitter_list_all_* commands
2025-07-11 17:18:11 -07:00
Peter Slattery
086ac34c4d
Jai syntax highlighting
2025-07-10 12:10:17 -07:00
Peter Slattery
79695eca2c
tree sitter logic handles edits to a parsed buffer
...
- async_task_cancel_nowait implementation
2025-07-10 09:14:35 -07:00
Peter Slattery
43fb4a757a
Implement Tree_Sitter_Language_Definition, handle registering languages by extension, and looking up the appropriate language definition for a buffer.
...
custom_begin_buffer uses new functions to identify which files to treat as code
implement custom_render_buffer which uses tree sitter data to color tokens
2025-07-10 08:53:54 -07:00
Peter Slattery
7caaed736b
Initial tree sitter usage:
...
- identify buffer language
- custom_begin_buffer sets up necessary tree sitter state, and kicks off a parse task
- custom_end_buffer cleans up tree sitter data and kills async parse tasks
- tree_sitter_parse_async/__inner uses tree sitter api to get a tree of the buffer's code and stores it on the buffers managed scope
- tree_sitter_write_tree prints tree to a special *tree* buffer
- use new build scripts in 4coder project
2025-07-10 07:08:27 -07:00
Peter Slattery
d8d99eefdd
Removing tracking for generated files
2025-07-07 19:40:08 -07:00
Peter Slattery
73492010b3
render_buffer no longer overwrites the cpp token coloring for keywords
2025-07-07 19:39:30 -07:00
Peter Slattery
3dafcdd950
QOL underline all visible instances of the token the cursor is within
2025-07-07 15:16:07 -07:00
Peter Slattery
50c53649a2
QOL jump stack
2025-07-07 14:47:14 -07:00
Peter Slattery
322f690afc
QOL column alignment
2025-07-07 14:31:41 -07:00
Peter Slattery
ea389639b3
Search lister jumps
2025-07-07 14:08:40 -07:00
Peter Slattery
01a06a59c7
Cull lister render
2025-07-07 14:07:26 -07:00
Peter Slattery
051b5068e5
Fix redo off by one error
2025-07-07 14:06:38 -07:00
Peter Slattery
1c9fd3e16f
goto_next_jump accounts for .cursor_at_end
2025-07-07 14:03:24 -07:00
flyingsolomon
0ee8e3904a
Update code/platform_win32/4ed_dx11_render.cpp
...
Co-authored-by: Simon Anciaux <14198779+mrmixer@users.noreply.github.com>
2025-07-07 13:55:28 -07:00
fs
27b4626907
Added a check for badly defined scissor rectangles that caused a crash when resizing the window with dx11 backend
2025-07-07 13:55:14 -07:00
Peter Slattery
9e58435637
Fix font rendering on mac
2025-07-07 13:54:26 -07:00
Simon Anciaux
6469fe5a0f
Removed test setup, and small clean up.
2025-07-07 13:25:15 -07:00
Ed Ye
0f5d46f5a4
remove old comment
2025-07-07 13:24:46 -07:00