summaryrefslogtreecommitdiff
path: root/TODO
blob: 579ff786fcd77dd9bc26a86dd6194dbc051683d3 (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
+ optimize redraws (redraw only the modified rectangle)
- fir bug in reading commands from files
- add screen geometry option (-g 25x80?)
- read file at point
  - read output of command (!)
- maybe move "text" mode to "t"
- implement ellipse
- (?) filled box (B)
- (?) manage filled box character (as for other styles)
- implement comment (#: ignore until the end of the line)
+ 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)
* 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