#-*- mode: org -*- #+TODO: TODO | DONE #+STARTUP: show2levels * DONE Create SDL hello world * DONE Research which data structure to use (ext/rope.h) * DONE Figure out how to render text in SDL (font texture atlas) * DONE Insert text into rope from keyboard presses * DONE Render rope * DONE Handle colors and font texture blitting * DONE Get backspace working * TODO Scale text with C-+ and C-- * TODO Read a file from disk and display it * TODO Create a cursor * TODO Add basic keybinding system * TODO Move cursor with arrow keys * TODO Save file * TODO Render each line in a different color To help figuring out how to color things for syntax highlighting * TODO Install treesitter package * TODO Color different parts of the buffer based on AST * TODO Create vertical/horizontal window splits * TODO Make splits resizable * TODO Buffer lists per pane * TODO Pane owned sub-panes * TODO Promote or demote panes as sub-panes * TODO Pinnable/dedicated buffers Panes and their sub-panes can have buffers pinned to them that require a keybinding to override. * TODO Custom buffer and pane variables * TODO Floating splits * TODO Buffers tags/ids * TODO Pane attributes that modify it's behavior - [ ] Pinnable - [ ] Toggleable - [ ] Overtake? - [ ] Popup * TODO Narrowing/widening * TODO Read-only mode * TODO Implement key chording * TODO Implement modal editing modes * TODO Keymap layering stack