|
|
|
|
@@ -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
|
|
|
|
|
- [ ] Fuzzy search over executed command ouput
|
|
|
|
|
|
|
|
|
|
## Basics
|
|
|
|
|
- [ ] 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?
|
|
|
|
|
- [ ] KillProcess in console !!! - should also kill all the children ...........
|
|
|
|
|
- [x] ctrl-e with these short main.c:290: breaks a little, need to first click ctrl-e and then alt-e to jump
|
|
|
|
|
- [ ] Use command window without special fuzzy search features to type commands and stuff for executing shell etc..
|
|
|
|
|
- [ ] I noticed WordComplete getting busted and returning cutdown words but not sure how to repro ...
|
|
|
|
|
- [ ] I noticed WordComplete getting busted after using editor for a while and returning cutdown words but not sure how to repro ...
|
|
|
|
|
- [ ] Rewrite WordComplete to use CoroutineCreate, maybe try reducing globals to just the coroutine itself
|
|
|
|
|
- [ ] WorkComplete, Bounded search, after a while it becomes problematic with many buffers
|
|
|
|
|
|
|
|
|
|
## 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?
|
|
|
|
|
- [ ] SearchAndReplace how to do better?
|
|
|
|
|
- [ ] ctrl-t find workspace symbols? how can we do it?
|
|
|
|
|
- [ ] Snippet design?
|
|
|
|
|
|
|
|
|
|
## Refactor
|
|
|
|
|
- [ ] 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
|
|
|
|
|
|
|
|
|
|
- [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
|
|
|
|
|
- [ ] Report a regression in SDL in newer versions that make it so that events are doubled when unpressing the held button
|
|
|
|
|
- [ ] Remove -lbacktrace and add my backtrace library thing
|
|
|
|
|
- [ ] 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
|
|
|
|
|
- [ ] How to enable framerate to be unlimited and not break scrolling?
|
|
|
|
|
- [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.
|
|
|
|
|
- [ ] 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
|
|
|
|
|
- [ ] Reduce number of created buffers to one per window, should be enough
|
|
|
|
|
- [ ] GetWindowZOrder to IterateWindowsInZOrder
|
|
|
|
|
- [ ] Rework history API, tagging modification blocks with carets?
|
|
|
|
|
- [ ] The lexing / parsing code for config / bindings appears sloppy would be nice to clean it up but I don't have any ideas
|
|
|
|
|
- [ ] 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
|
|
|
|
|
## Features
|
|
|
|
|
- [ ] KillProcess in console !!! - should also kill all the children ...........
|
|
|
|
|
- [ ] BeginLog and EndLog, show all logs in the UI thing at the end
|
|
|
|
|
- [ ] Fuzzy search over executed command ouput
|
|
|
|
|
- [ ] Command window but for executing commands without special fuzzy stuff?
|
|
|
|
|
- [ ] Implement Regex and jumps using regex so as to allow for using ctags
|
|
|
|
|
- [ ] Add UndoKinds (SnapshotUndo, DiffUndo), I want to enable history in fuzzy search buffers without a huge memory cost
|
|
|
|
|
- [ ] General parser / data description thing, rewrite other parsers using this, rewrite env handling
|
|
|
|
|
- [ ] 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
|
|
|
|
|
|
|
|
|
|
- [ ] General parser / data description thing
|
|
|
|
|
- [ ] 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)
|
|
|
|
|
## Low
|
|
|
|
|
- [ ] Shell / terminal buffer plugin (keep the shell alive and talk with it)
|
|
|
|
|
- [ ] Directory Navigation
|
|
|
|
|
- [ ] 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
|
|
|
|
|
- [ ] Open
|
|
|
|
|
- [ ] Way to bind "open" commands to keys from config
|
|
|
|
|
- [ ] Ability to access and set clipboard as well as affect selection in the open scripts
|
|
|
|
|
- [ ] 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?
|
|
|
|
|
- [ ] Fix somehow OpenCode hanging the editor on big files
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
## :QueryFile problems
|
|
|
|
|
- User doesn't see that he in a special mode
|
|
|
|
|
- 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
|
|
|
|
|
- How do we kill all the views/buffers we entered? Do we care?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
#define PLUGIN_PROFILER 1
|
|
|
|
|
@@ -581,6 +567,7 @@ void GarbageCollect() {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
RunGCThisFrame = false;
|
|
|
|
|
ReportConsolef("GarbageCollect");
|
|
|
|
|
|
|
|
|
|
ProfileFunction();
|
|
|
|
|
Allocator sys_allocator = GetSystemAllocator();
|
|
|
|
|
@@ -602,8 +589,8 @@ void GarbageCollect() {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool ref = ViewIsReferenced(it);
|
|
|
|
|
if (ref) {
|
|
|
|
|
Int ref = ViewIsReferenced(it);
|
|
|
|
|
if (ref < 25) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -668,7 +655,7 @@ void GarbageCollect() {
|
|
|
|
|
JumpToLastValidView(it);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LayoutWindows(int16_t wx, int16_t wy) {
|
|
|
|
|
|