- What precise workflow do I need for me to be viable to use this?
- From a user (novice) point of view, how does it look like?

- Remove LUA and replace with keybindings, config, commands
- "DO YOU REALLY WANT TO QUIT?" popup
- open all in the folder and ctrl + p like in VSCode (without special buffers)
- Guide on the first page for new users with links to configs, tutorials

- Window, View, Buffer + flags design (or is completely new kind based approach needed for Windows/Views?)
    - How to make non-editable, informative, with different font size, title bar. Which might also contain tabs
    - How to design clickable tree view in this way?
    - How to design Command view?
    - How to design popup view (input field)?
    - How to design search view? or search and replace view?

Splits:
- Why constraint that name of buffer needs to be unique? For Open() and default behavior but is this required?
- Try to add Tracking Allocator and rewrite the app, free all memory at the end of the app and check all is well

Commands TODO:
- Search
    - Ctrl + F
        - Next occurence: Enter
        - Prev occurence: Shift + Enter
    - next occurence: F3
    - prev occurence: Shift + F3
- Console: OK concept but constrain
    - Turned off by default
    - Special: non editable, hotkeys don't work etc.
- I'M SETTING ACTIVE WINDOW AFTER COMMAND!!! DO WE CONTINUE WITH THIS?

- CONSIDER AUTOMATING: CheckpointBeforeGoto
    - GotoBackward how to handle that in case we want to automate and create on every move?


backlog
ISSUE Ctrl+Alt+Down (DuplicateLine) doesn't work on ubuntu
FEATURE Search whole words, case sensitive etc.
FEATURE Select all searched occurences
FEATURE commands for scrolling: center, cursor_at_bottom_of_screen, cursor_at_top
FEATURE Kill buffer command (it should be marked for deletion and deleted at the end of frame!)
FEATURE Some decl/function indexing in fuzzy format
ISSUE? Fix jump scroll, the query ends up the last line on screen, kind of wacky
FEATURE dump text editor state to file, restore state
- Search and replace
- word complete
- Search all buffers in 10X style, incrementally searched results popping up on every key press (maybe we need coroutine library in C so this is easier?)
- escapeing multiple cursor after ctrl + d should put the cursor where it was (probably will need to swap secondary and primary cursor for new cursor
- draw indentation levels like in sublime (those lines) - we render chars one by one so seems relatively easy to figure out if whitespace belongs to beginning of line (make sure to add max value like 40 because of big files)
- code sections, visual demarkation if beginning of line has a very specific text + goto next / goto prev section hotkey!
- combine glyph and selection rendering

- Test stdin writing code
- Implement shell interaction (the valid cmd lines should start with '>' or '$', user can add more lines like this to expand the command size maybe?, if we have a case where we have a line with '>' but the last line doesn't have (just a space) then it should execute?)
- drop text into window
- I think the way sublime text and we display line highlights is confusing with multiple cursors (line highlight can be confused with selection)
- make the editor replayable, store events and then replay, be careful about globals
- maybe open should return multiple options if there are many more? (like in sublime if many symbols you get a window and you choose and it automatically jumps you to the symbol in the background)
- I want a way to assign flags to buffers/views/windows from user perspective so that console window concept can be created from user space
- font cache and on demand unicode loads
- color parens, braces
- gap buffer
- optimize rendering - command buffer, and vertice buffer instead of vertice buffer with scissor

