+ optimize redraws (redraw only the modified rectangle) - add screen geometry option (-g 25x80?) - (?)maybe move "text" mode to "t" - implement ellipse - (?) filled box (B) - (?) manage filled box character (as for other styles) + parse control characters + parse arrows (text-mode will allow movements as well) - (?) implement CTRL+G as abort (aside ESC) - (?) remove extra blanks until EOL when saving to file - manage special chars (DEL/CANC) during text insert (also do not print unmanaged chars!) - allow scrolling (both vertical and horizontal) - catch SIGWINCH and react appropriately (after scrolling is enabled) * implement comment (#: ignore everything until the end of the line) * implement parallelogram mode (z/Z) * fix bug in reading commands from files * fix bug in visual crop * read file at point * read output of command (!) * fix bug with 'g' commands in arrow mode * undo (by storing lines changed across insert/remove operations) * re-organise undo-ring management * add undo for arrow mode * add undo for text mode * add undo for erase mode * visual selection * crop-to-rectangle * yank * fill * cut * put yanked content (p) * turn screen into a lineset * change alloc/ensure functions to work on line_t* and lineset_t* * add crop command (C) * reorganise code * change screen management (i.e., dynamic array of lines) * add action multiplier (e.g., "7h" moves left by 7 cols) * add scripting mode option ("-s"?) * auto-arrow 'A' (automatic end-char) * move configs in config.h * get screen geometry * allow the use of [ENTER] to confirm arrow, boxes (useful for scripting) * add Makefile * change "g" command: - g-g (goto top-left) - g-G (goto bottom-right) - g-m (goto middle) - g-[hjkl] (goto leftmost, bottom, top, rightmost) * move style commands in a separate function (and allow style change in all the modes...) * add "vis" (for visual) in mode strings * implement "." to reset styles to defaults. * load from file * check if modified on exit * write to new file / default file * delete -- 'x' * save to file * implement arrow * set different line styles (done for hl, vl, corner) * add status bar * implement box