TODO.md 1.62 KB
Newer Older
Ticki's avatar
Ticki committed
1
- [x] Make editor.pos method and use that instead of
Ticki's avatar
Ticki committed
2
- [ ] Add word navigation
Ticki's avatar
Ticki committed
3
- [ ] `.` command
Ticki's avatar
Ticki committed
4
- [ ] More partial redrawing (register "is_modified")
Ticki's avatar
Ticki committed
5 6 7 8


Known bugs:

Ticki's avatar
Ticki committed
9
- [x] When using `t` with a char that isn't in the document, Sodium will crash.
10 11
- [x] `dG` on the last line of the file deletes from the cursor to the end of the line, instead of the entire line.
      Not sure if intended.
12 13 14

The bug causing these two bugs, is localised to be in position.rs. It resolves by returning a value one over bound x

Ticki's avatar
Ticki committed
15
- [x] The x value is wrongly bounded. Reproduction:
16 17 18 19 20 21 22 23 24
      1) Make two lines:
         - abc
         - abcdef
      2) Go to the end of the first line.
      3) Go one down. As you'll see you'll end up at d. That's right.
      4) Now go two the end of the first line again.
      5) Type 2l.
      6) Now go one down
      7) You'll end up on e, even though it should be d
Ticki's avatar
Ticki committed
25

Ticki's avatar
Ticki committed
26
- [x] Crashes when:
Ticki's avatar
Ticki committed
27 28 29 30 31 32
      1) Write abc on line 1
      2) Press o to go to the next line
      3) Go to normal mode
      4) Press a and go to append mode
      5) Type text
      6) Out of bound (index) error
Ticki's avatar
Ticki committed
33

Ticki's avatar
Ticki committed
34
- [x] When typing the first char in a line in normal insert mode, it wont go to the next char.
35

Ticki's avatar
Ticki committed
36 37 38 39
- [x] The modifier keys are only working for one command
     Solutions:
     - Make a struct KeyState storing info on the modifiers active. Add a method `feed` which feeds the keystate with a key, updating it. This should Option<Key>, where a key should be returned iff the key entered was not a modifier

Ticki's avatar
Ticki committed
40
- [ ] Crashes when ~ command is used on an empty line
Ticki's avatar
Ticki committed
41
- [ ] `z` command is buggy.
Ticki's avatar
Ticki committed
42
- [ ] `x` is buggy (when line length differ)
Ticki's avatar
Ticki committed
43

Ticki's avatar
Ticki committed
44 45
Refactoring:
- Organize into modules