a072229d20Removing unused function get_token_array_from_buffer_no_wait - I added this previously, and the need for it has disappearedPeter Slattery2025-07-16 19:41:03 -0700
a34a24f4e7Passing 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 updatingPeter Slattery2025-07-16 11:31:55 -0700
b56bd7caa8Move code index updating to happen to modified buffers on the tick hook. This will unify the separate paths for updating the code index.Peter Slattery2025-07-16 11:24:23 -0700
94991304b5Temporarily move all tree-sitter operations to be synchronousPeter Slattery2025-07-16 11:20:21 -0700
3f9b803c62Move tree-sitter code index updating to an async process to unblock the ui while processing large filesPeter Slattery2025-07-14 11:22:39 -0700
ae7440aa0bcustom_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.Peter Slattery2025-07-14 11:20:41 -0700
84b1b15fbbImplement get_token_array_from_buffer_no_wait to return an empty array if the lex task is currently runningPeter Slattery2025-07-14 11:19:27 -0700
9ecf49d278Add typescript support and document how to add a languagePeter Slattery2025-07-13 14:37:25 -0700
a5f13529c3Set a per-language flag for enabling virtual indentationPeter Slattery2025-07-13 14:02:32 -0700
5ed8767819Buffering code index updates when there are many modified buffers within a single framePeter Slattery2025-07-13 13:46:55 -0700
18428ec90dPull 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 flagPeter Slattery2025-07-13 12:05:16 -0700
5ccd6dd2abImplemented 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, TYPESPeter Slattery2025-07-13 11:19:29 -0700
58374ba625Incorporating the nest query into the cpp tags queryPeter Slattery2025-07-13 11:17:56 -0700
79695eca2ctree sitter logic handles edits to a parsed buffer - async_task_cancel_nowait implementationPeter Slattery2025-07-10 09:14:35 -0700
43fb4a757aImplement 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 tokensPeter Slattery2025-07-10 08:53:54 -0700
7caaed736bInitial 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 projectPeter Slattery2025-07-10 07:08:27 -0700
27b4626907Added a check for badly defined scissor rectangles that caused a crash when resizing the window with dx11 backend
fs
2025-03-24 15:46:34 +0200
6469fe5a0fRemoved test setup, and small clean up.
Simon Anciaux
2025-03-19 14:11:46 +0100
0f5d46f5a4remove old comment
Ed Ye
2025-03-18 07:30:49 -0400
87d0eb9cf3update opengl version to 3.2 on linux and update glsl version to 150
Ed Ye
2025-03-17 09:12:49 -0400
b834dbb451change mac metal renderer to properly handle texture array
Edward Ye
2025-03-16 18:15:16 +0800
b2bdc515ecMac version of the fix. Not working at the moment.
Simon Anciaux
2025-03-15 20:28:35 +0100
9b927bd410Fixed slice index not being passed correctly. It was normalized instead of pass as an integer value. This commit is setup for testing the texture array slices, it shouldn't be shipped to users.
Simon Anciaux
2025-03-15 15:12:07 +0100
bd7dac90acUsing 4coder string functions in code/4ed_api_parser_main.cpp instead of manually creating the strings. Added "code/" in the string that point to the generator so it's easier to find the correct files. Regenerated the 4 affected files (just to update the comment string).
Simon Anciaux
2025-01-07 14:24:59 +0100
0e2b8d0df8A user reported on the handmade network discord an issue where when you change the font size (e.g. ctrl + scroll up/down) 4coder was crashing. They were using the D3D11 renderer.
Simon Anciaux
2025-01-06 18:37:44 +0100
e040b1a29bundo can clear dirty state
BYP
2024-09-29 15:19:23 -0400
c194053b834ed_generate_keycodes.cpp adds a comment at the top of the file it generate to specify which file generated it. Added proper indentation in the generated file. Note that this executable needs to be manually ran. The build system doesn't run it. win32_keycode_init only initialize 30 KeyCode_Ex values (0 to 29) as the code generating the enum only generates that amount (explicitly loops from 0 to < 30).
Simon Anciaux
2024-09-26 15:56:35 +0200
e4a4910e6bUse the actual clip rectangle. Use rect_overlap in draw_rectangle_outline. Reorganized a bit to test earlier to avoid unnecessary work.
Simon Anciaux
2024-09-26 14:31:02 +0200
33c3428796Clipboard fix
Simon Anciaux
2024-09-23 18:31:37 +0200
dfce9bf369Fix wrong initialization of keycode lookup table
Simon Anciaux
2024-08-28 19:09:01 +0200
f3dc516704Disable DXGI monitoring the message queue for Alt+Enter fullscreen switch. Switching that way instead of calling toggle_fullscreen, causes issue when trying to Alt+Tab. Also users might want to use Alt+Enter for other things. Changed how DXGI factory is handled. I retrieve the one associated with the current DXGI device and adapter instead of creating a new one. Fixed missing new line in the log at 1 location.
Simon Anciaux
2024-04-15 17:54:41 +0200
d926166630Changed the fix a little to test only 4 vertex per characters (instead of 6). Removed the "draw = true;" left from testing.
Simon Anciaux
2024-04-05 18:12:49 +0200
52124edcd8Avoid rendering rectangles (and characters) that are outside the window bounds.
Simon Anciaux
2024-04-03 15:52:44 +0200
dadb7dc49aFixed crashing when 4coder tries to render more vertex than the vertex buffer reserved. We create a new buffer to accommodate the required size, and if that fails, we skip rendering the current vertex group.
Simon Anciaux
2024-03-29 16:39:39 +0100
84da2da350Changed `true` to `GL_TRUE` for `WGL_DOUBLE_BUFFER_ARB` to use OpenGL wording.
Simon Anciaux
2024-03-03 12:09:21 +0100
cbbd83affcCommented the DirectX 11 define to default to OpenGL.
Simon Anciaux
2024-02-29 15:06:45 +0100
c81d9b4e97Renamed files from direcx to dx11.
Simon Anciaux
2024-02-28 18:06:53 +0100
d0a18fcdb7Renamed "directx" to dx11 in several variable names, types and defines. Added date to NOTEs and TODOs. Tried to make log strings more useful, even if I don't know how you display things log with log_os.
Simon Anciaux
2024-02-28 17:59:36 +0100
7ce0a7d698code/platform_win32/4ed_directx_render.cpp: Reuse freed textures. Rename variables so that texture handle are always named texid.
Simon Anciaux
2024-02-28 16:55:18 +0100
b651847ba34ed_directx_render.cpp: Initialize textures to zero to avoid having random pixel values that changes the result of linear sampling on the edge of characters.
Simon Anciaux
2024-02-28 13:33:52 +0100
e4b4e5c943code/platform_win32/4ed_directx_render.cpp: Fixed the way texture array are updated. Note that the font provider rectangle packer contains a bug, and it will never produce several texture slice, it will only grow the texture on y to accommodate for more characters. code/platform_win32/win32_opengl.cpp: Enabled double buffering to fix graphical glitches on AMD cards.
Simon Anciaux
2024-02-27 17:26:38 +0100
911df4ce05code/bin/4ed_build.cpp: Removed OpenGL.lib. It's added with #pragma comment in win32_opengl.cpp so that we don't need to do special things to keep OpenGL and DirectX both working.
Simon Anciaux
2024-02-23 19:03:22 +0100
f2abe277044ed_font_provider_freetype.cpp: Rewrote the ft__bad_rect_pack_next function. There were several issues with the previous function that didn't manifest because the default size for the font atlas is 1024 * 1024 and the default 4coder only use about 1/8 of it.
Simon Anciaux
2024-02-28 15:24:44 +0100
7359649465Restructure default_render_buffer to only color visible tokens, and only look up tokens that are identifiersPeter Slattery2025-07-07 12:33:29 -0700
001cf5fa57Buffer name resolution simply appends a project relative path for files inside the project and a global path for files outside.PS2024-05-13 17:10:09 -0700
e33bdffc7dFixing issue where keyUp events aren't sent for keys that become modified by the command keyPeter Slattery2024-03-22 17:55:59 -0600
cba2574e8a4coder_command_map now gets the best match for a given input rather than the first match when Loose MatchingPeter Slattery2024-03-22 16:17:44 -0600