summaryrefslogtreecommitdiff
path: root/TODO
blob: 3ffa3f59ada339893631dbc4cf7d72cc7bb23f16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
+ optimize redraws (redraw only the modified rectangle)
- add screen geometry option (-g 25x80?)
+ implement trapezium
- 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)
* add position marks (Ma / g'a)
* 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