Update todos

This commit is contained in:
Krzosa Karol
2026-03-22 10:12:18 +01:00
parent 82dceaca68
commit cf383c9772

View File

@@ -1,71 +1,57 @@
/* /*
- [x] list_functions.sh and rg in general in the color mode is prinitng differently from terminal as well as output is truncated!
- [ ] Syntax for executing commands from root of project, or maybe commands should be executed from root of the CurrentDirectory and there should be a cd command instead of OpenProject ## Basics
- [ ] Fuzzy search over executed command ouput - [ ] Ctrl+Shift+ArrowDown at the end of buffer, doesn't capture characters on last line without new line, same at the top
- [ ] When inserting parenthesis and selection is there, put the parens on both sides? - [ ] When inserting parenthesis and selection is there, put the parens on both sides?
- [ ] KillProcess in console !!! - should also kill all the children ........... - [ ] I noticed WordComplete getting busted after using editor for a while and returning cutdown words but not sure how to repro ...
- [x] ctrl-e with these short main.c:290: breaks a little, need to first click ctrl-e and then alt-e to jump - [ ] Rewrite WordComplete to use CoroutineCreate, maybe try reducing globals to just the coroutine itself
- [ ] Use command window without special fuzzy search features to type commands and stuff for executing shell etc.. - [ ] WorkComplete, Bounded search, after a while it becomes problematic with many buffers
- [ ] I noticed WordComplete getting busted and returning cutdown words but not sure how to repro ...
## Monaco like design for familiarity ## Monaco like design for familiarity
- [x] Ctrl+Alt+- and Ctrl+Shift+- Jump back, jump forward
- [x] ctrl-shift-l select all occurences of a string
- [x] ctrl-alt-r open containing folder (file explorer system)
- [x] ctrl-alt-MouseMove should do a box select with multiple cursors thing
- [ ] ctrl-tab - switch file lister with instant hold release semantics? - [ ] ctrl-tab - switch file lister with instant hold release semantics?
- [ ] SearchAndReplace how to do better? - [ ] SearchAndReplace how to do better?
- [ ] ctrl-t find workspace symbols? how can we do it? - [ ] ctrl-t find workspace symbols? how can we do it?
- [ ] Snippet design? - [ ] Snippet design?
## Refactor
- [ ] Make a platform layer and separate SDL stuff out - [ ] Make a platform layer and separate SDL stuff out
- [x] ReplaceAll - heap-use-after-free address, how to debug? I think would be nice to iterate all buffer ids and their addresses along with the state - [ ] Report a regression in SDL in newer versions that make it so that events are doubled when unpressing the held button
- [x] BRO, the caret teleports on linux when I press the arrow for too long
- [ ] Report SDL newest vs SDL previous version on wayland
- [ ] Ctrl+Shift+ArrowDown at the end of buffer, doesn't capture characters on last line without new line
- [ ] Remove -lbacktrace and add my backtrace library thing - [ ] Remove -lbacktrace and add my backtrace library thing
- [ ] Refactor build.sh to accept commands and remove build_web.sh - [ ] Refactor build.sh to accept commands and remove build_web.sh
- [ ] GetWindowZOrder to IterateWindowsInZOrder
- [ ] Investigate reworking history API, tagging modification blocks with carets?
- [ ] How to enable framerate to be unlimited and not break scrolling?
- [ ] When 2 views of same buffer are open, the view with caret below the caret which modifies the view - starts moving and getting messed up
- [ ] The lexing / parsing code for config / bindings appears sloppy would be nice to clean it up but I don't have any ideas
- [ ] Redesign `:QueryFile`
- [ ] Cleanups ## Features
- [ ] How to enable framerate to be unlimited and not break scrolling? - [ ] KillProcess in console !!! - should also kill all the children ...........
- [x] When dragging a file into the editor, would be nice if the file opened in the window user dropped the file into. Not the active window. - [ ] BeginLog and EndLog, show all logs in the UI thing at the end
- [ ] When 2 views of same buffer are open, the view with caret below the caret which modifies the view - starts moving and getting messed up - [ ] Fuzzy search over executed command ouput
- [ ] Reduce number of created buffers to one per window, should be enough - [ ] Command window but for executing commands without special fuzzy stuff?
- [ ] GetWindowZOrder to IterateWindowsInZOrder - [ ] Implement Regex and jumps using regex so as to allow for using ctags
- [ ] Rework history API, tagging modification blocks with carets? - [ ] Add UndoKinds (SnapshotUndo, DiffUndo), I want to enable history in fuzzy search buffers without a huge memory cost
- [ ] The lexing / parsing code for config / bindings appears sloppy would be nice to clean it up but I don't have any ideas - [ ] General parser / data description thing, rewrite other parsers using this, rewrite env handling
- [ ] Directory tree doesn't make much sense! Maybe just consolidate into one folder? create nice names - the raddbg idea didn't pan out well here - [ ] DirNav, update lister when files change on disk
- [ ] Investigate ways to bind "open" commands to keys from config
- [ ] Ability to access and set clipboard as well as affect selection in the open scripts
- [ ] Syntax for executing commands from root of project, or maybe commands should be executed from root of the CurrentDirectory
## Test
- [ ] Test BlockArena correctnsess - random allocations, writes and undos, try to crash - [ ] Test BlockArena correctnsess - random allocations, writes and undos, try to crash
- [ ] General parser / data description thing ## Low
- [ ] Rewrite other parsers using this
- [ ] Rewrite Env handling (to not be OS specific)
- New error mechanism - we were losing errors when ReportError was called multiple times, I still want that but I don't want to lose errors, so turn it into a summary list of errors
- [ ] BeginLog EndLog, and then show all logs as a list in the UI thing
- [ ] Undo kinds (to enable history in fuzzy buffers)
- [ ] Add undo kind. Snapshot kind, so that history is possible in weird buffers without paying a huge memory cost. The idea is that we would store the exact buffer state to replace with, editor would just save history of first line etc.
- [x] Macros
- [ ] Regex
- [ ] ctags based indexing
- [ ] WordComplete
- [ ] Rewrite WordComplete to use CoroutineCreate, maybe try reducing globals to just the coroutine itself
- [ ] More bounded? seems like it might be problematic on a bigger project but so far it isn't (even for SDL or raddbg)
- [ ] Shell / terminal buffer plugin (keep the shell alive and talk with it) - [ ] Shell / terminal buffer plugin (keep the shell alive and talk with it)
- [ ] Directory Navigation - [ ] Fix somehow OpenCode hanging the editor on big files
- [ ] Remake lister when files change on disk
- [ ] When saving apply all the modifications instead (like deleting files, renaming etc.) or maybe that's not even needed considering we are integrating shell commands -----------------------------------------------------------------------
- [ ] OpenCode
- [ ] Hangs the editor on big files ## :QueryFile problems
- [ ] Open - User doesn't see that he in a special mode
- [ ] Way to bind "open" commands to keys from config - Coroutine is boundless here and the boundries of the mode are too lossely defined, it makes it strange when you learn that you are still in this mode
- [ ] Ability to access and set clipboard as well as affect selection in the open scripts - How do we kill all the views/buffers we entered? Do we care?
- [ ] QueryFile
- [ ] Indicate to user that he is choosing a file
- [ ] Define clear rules for opt out (like switching to different window) and kill or views that were for choosing?
*/ */
#define PLUGIN_PROFILER 1 #define PLUGIN_PROFILER 1
@@ -581,6 +567,7 @@ void GarbageCollect() {
return; return;
} }
RunGCThisFrame = false; RunGCThisFrame = false;
ReportConsolef("GarbageCollect");
ProfileFunction(); ProfileFunction();
Allocator sys_allocator = GetSystemAllocator(); Allocator sys_allocator = GetSystemAllocator();
@@ -602,8 +589,8 @@ void GarbageCollect() {
continue; continue;
} }
bool ref = ViewIsReferenced(it); Int ref = ViewIsReferenced(it);
if (ref) { if (ref < 25) {
continue; continue;
} }
@@ -668,7 +655,7 @@ void GarbageCollect() {
JumpToLastValidView(it); JumpToLastValidView(it);
} }
} }
} }
} }
void LayoutWindows(int16_t wx, int16_t wy) { void LayoutWindows(int16_t wx, int16_t wy) {