Commit Graph

  • ee082e42d1 tree_sitter_parse_full_file_async no longer updates the code index tree-sitter-working Peter Slattery 2025-07-16 19:43:14 -0700
  • a072229d20 Removing unused function get_token_array_from_buffer_no_wait - I added this previously, and the need for it has disappeared Peter Slattery 2025-07-16 19:41:03 -0700
  • 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 Peter Slattery 2025-07-16 11:31:55 -0700
  • 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. Peter Slattery 2025-07-16 11:24:23 -0700
  • 94991304b5 Temporarily move all tree-sitter operations to be synchronous Peter Slattery 2025-07-16 11:20:21 -0700
  • 3f9b803c62 Move tree-sitter code index updating to an async process to unblock the ui while processing large files Peter Slattery 2025-07-14 11:22:39 -0700
  • 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. Peter Slattery 2025-07-14 11:20:41 -0700
  • 84b1b15fbb Implement get_token_array_from_buffer_no_wait to return an empty array if the lex task is currently running Peter Slattery 2025-07-14 11:19:27 -0700
  • 9ecf49d278 Add typescript support and document how to add a language Peter Slattery 2025-07-13 14:37:25 -0700
  • a5f13529c3 Set a per-language flag for enabling virtual indentation Peter Slattery 2025-07-13 14:02:32 -0700
  • 5ed8767819 Buffering code index updates when there are many modified buffers within a single frame Peter Slattery 2025-07-13 13:46:55 -0700
  • 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 Peter Slattery 2025-07-13 12:05:16 -0700
  • 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 Peter Slattery 2025-07-13 11:19:29 -0700
  • 58374ba625 Incorporating the nest query into the cpp tags query Peter Slattery 2025-07-13 11:17:56 -0700
  • 67e0420eb1 Indenting 4coder_code_index.cpp Peter Slattery 2025-07-13 11:15:48 -0700
  • 336a98f701 Switched to using the default highlight and tags queries for cpp, jai, bash. Peter Slattery 2025-07-13 08:44:45 -0700
  • c5a462993d Pull language registration into individual per-language files Peter Slattery 2025-07-12 12:21:31 -0700
  • 60e850b2ff Add bash support Peter Slattery 2025-07-12 12:19:23 -0700
  • 877527e918 Cleaning up noisy build logs Peter Slattery 2025-07-11 17:58:58 -0700
  • 324a78ae1e Implemented function and type queries. Implemented tree_sitter_list_all_* commands Peter Slattery 2025-07-11 17:18:11 -0700
  • 086ac34c4d Jai syntax highlighting Peter Slattery 2025-07-10 12:10:17 -0700
  • 79695eca2c tree sitter logic handles edits to a parsed buffer - async_task_cancel_nowait implementation Peter Slattery 2025-07-10 09:14:35 -0700
  • 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 Peter Slattery 2025-07-10 08:53:54 -0700
  • 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 Peter Slattery 2025-07-10 07:08:27 -0700
  • 1a97b41257 Add tree sitter to compile command Peter Slattery 2025-07-10 06:01:48 -0700
  • 8a918eef82 Checking for color support in build scripts Peter Slattery 2025-07-10 06:01:34 -0700
  • d615358064 Updated build scripts to use common include flags Peter Slattery 2025-07-08 10:05:45 -0700
  • 0b712c50e9 Added tree-sitter to project and got it building as a static library Peter Slattery 2025-07-07 20:26:10 -0700
  • d8d99eefdd Removing tracking for generated files master Peter Slattery 2025-07-07 19:40:08 -0700
  • 73492010b3 render_buffer no longer overwrites the cpp token coloring for keywords Peter Slattery 2025-07-07 19:39:30 -0700
  • 3dafcdd950 QOL underline all visible instances of the token the cursor is within Peter Slattery 2025-07-07 15:16:07 -0700
  • 50c53649a2 QOL jump stack Peter Slattery 2025-07-07 14:47:14 -0700
  • 322f690afc QOL column alignment Peter Slattery 2025-07-07 14:31:41 -0700
  • ea389639b3 Search lister jumps Peter Slattery 2025-07-07 14:08:40 -0700
  • 01a06a59c7 Cull lister render Peter Slattery 2025-07-07 14:07:26 -0700
  • 051b5068e5 Fix redo off by one error Peter Slattery 2025-07-07 14:06:38 -0700
  • 1c9fd3e16f goto_next_jump accounts for .cursor_at_end Peter Slattery 2025-07-07 14:01:42 -0700
  • 0ee8e3904a Update code/platform_win32/4ed_dx11_render.cpp flyingsolomon 2025-03-25 10:04:27 +0200
  • 27b4626907 Added 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
  • 9e58435637 Fix font rendering on mac Peter Slattery 2025-07-07 13:54:26 -0700
  • 6469fe5a0f Removed test setup, and small clean up. Simon Anciaux 2025-03-19 14:11:46 +0100
  • 0f5d46f5a4 remove old comment Ed Ye 2025-03-18 07:30:49 -0400
  • 87d0eb9cf3 update opengl version to 3.2 on linux and update glsl version to 150 Ed Ye 2025-03-17 09:12:49 -0400
  • b834dbb451 change mac metal renderer to properly handle texture array Edward Ye 2025-03-16 18:15:16 +0800
  • b2bdc515ec Mac version of the fix. Not working at the moment. Simon Anciaux 2025-03-15 20:28:35 +0100
  • 9b927bd410 Fixed 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
  • bd7dac90ac Using 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
  • 0e2b8d0df8 A 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
  • e040b1a29b undo can clear dirty state BYP 2024-09-29 15:19:23 -0400
  • c194053b83 4ed_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
  • e4a4910e6b Use 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
  • 33c3428796 Clipboard fix Simon Anciaux 2024-09-23 18:31:37 +0200
  • dfce9bf369 Fix wrong initialization of keycode lookup table Simon Anciaux 2024-08-28 19:09:01 +0200
  • f3dc516704 Disable 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
  • d926166630 Changed 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
  • 52124edcd8 Avoid rendering rectangles (and characters) that are outside the window bounds. Simon Anciaux 2024-04-03 15:52:44 +0200
  • dadb7dc49a Fixed 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
  • 84da2da350 Changed `true` to `GL_TRUE` for `WGL_DOUBLE_BUFFER_ARB` to use OpenGL wording. Simon Anciaux 2024-03-03 12:09:21 +0100
  • cbbd83affc Commented the DirectX 11 define to default to OpenGL. Simon Anciaux 2024-02-29 15:06:45 +0100
  • c81d9b4e97 Renamed files from direcx to dx11. Simon Anciaux 2024-02-28 18:06:53 +0100
  • d0a18fcdb7 Renamed "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
  • 7ce0a7d698 code/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
  • b651847ba3 4ed_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
  • e4b4e5c943 code/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
  • 911df4ce05 code/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
  • f2abe27704 4ed_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
  • 7359649465 Restructure default_render_buffer to only color visible tokens, and only look up tokens that are identifiers Peter Slattery 2025-07-07 12:33:29 -0700
  • 2ab0c0a2de Increase Code_Index name_hash size Peter Slattery 2025-07-07 12:32:45 -0700
  • 6ae690691c Cleaning up build-config.sh Peter Slattery 2025-07-07 09:37:12 -0700
  • 75e72875ff Implement new build system Peter Slattery 2025-07-06 12:44:54 -0700
  • 69556235d5 Squashing macro-redefined error in clang Peter Slattery 2025-07-06 12:37:41 -0700
  • bbf8a2566d Adding build_new/temp to the gitignore Peter Slattery 2025-07-06 11:35:55 -0700
  • 0866aedcc9 Phase 1: Basic config and toolchain detection Peter Slattery 2025-07-05 13:35:22 -0700
  • 5f35da8cb7 Planning build system simplification Peter Slattery 2025-07-05 13:01:30 -0700
  • 0d6a5e4e06 Bindings for replace identifier and replace selection Peter Slattery 2025-04-30 12:38:07 -0700
  • 91cc66a52a Fixing no keyup events while command is pressed on mac Peter Slattery 2025-04-24 16:45:45 -0700
  • b280722b1c set NSApp activateIgnoringOtherApps to YES Peter Slattery 2025-04-24 16:18:01 -0700
  • be632574e6 Added yeet sheet implementation PS 2024-05-13 19:29:16 -0700
  • 46a0466ff4 Removed File_Edit_Positions.last_set_type since it was always set but never read PS 2024-05-13 17:42:38 -0700
  • 24f7f66a24 Added scope highlight colors PS 2024-05-13 17:24:33 -0700
  • 001cf5fa57 Buffer name resolution simply appends a project relative path for files inside the project and a global path for files outside. PS 2024-05-13 17:10:09 -0700
  • 2142ef2ce9 Cleaning up line endings on save Peter Slattery 2024-04-27 13:43:54 -0700
  • 120c6ceaad gs_parse_jump_location handles jai paths better PS 2024-03-27 13:49:52 -0700
  • 5842d13294 string_find_first_of_set impl PS 2024-03-27 13:49:29 -0700
  • 2c82233524 Adding freetype.lib for x64 windows dependencies PS 2024-03-27 13:49:16 -0700
  • 3f1c591196 Reverting prior change to map_loose_match Peter Slattery 2024-03-26 16:00:50 -0700
  • f1d6ac0e53 adding execute permissions to build-mac-dev.sh Peter Slattery 2024-03-22 18:16:17 -0600
  • e33bdffc7d Fixing issue where keyUp events aren't sent for keys that become modified by the command key Peter Slattery 2024-03-22 17:55:59 -0600
  • cba2574e8a 4coder_command_map now gets the best match for a given input rather than the first match when Loose Matching Peter Slattery 2024-03-22 16:17:44 -0600
  • 58a4314177 ship-files/config sets user to PS Peter Slattery 2024-03-22 16:17:03 -0600
  • 8675d371a4 dedicated build-mac-release and build-mac-dev files in bin Peter Slattery 2024-03-22 16:16:48 -0600
  • 41d0d07b5c libfreetype updates Peter Slattery 2024-03-22 16:16:31 -0600
  • 7f2a414182 package-mac.sh grants execute permissions to the output executable Peter Slattery 2024-03-22 16:15:38 -0600
  • ad189e911a Adding mm files to treat-as-code Peter Slattery 2024-02-14 18:11:12 -0800
  • 24c8370f75 Indent next line only on hitting enter PS 2024-02-10 20:12:36 -0800
  • 5aebe18778 Disabling undo fade out PS 2024-02-10 20:12:20 -0800
  • 18e608a152 Parsing jai style compiler errors PS 2024-02-10 19:34:25 -0800
  • ca075e7392 default_font_hinting is true by default PS 2024-02-10 18:52:45 -0800
  • 22fa2794e7 Project generation uses treat_as_code extensions to create project include patterns PS 2024-02-10 18:45:05 -0800
  • e3ba01570a Backspace in file search deletes whole word PS 2024-02-10 15:54:29 -0800