-
-
Notifications
You must be signed in to change notification settings - Fork 19
/
TODO.todo
60 lines (57 loc) · 3.12 KB
/
TODO.todo
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
open: <https://github.com/r3bl-org/r3bl-open-core/issues?q=is%3Aopen+is%3Aissue+-label%3Abacklog+>
features: <https://github.com/orgs/r3bl-org/projects/1/views/1>
backlog: <https://github.com/r3bl-org/r3bl-open-core/issues?q=is%3Aopen+is%3Aissue+label%3Abacklog+>
editor component upgrades (https://github.com/r3bl-org/r3bl-open-core/issues/86):
✔ audit docs, source filenames, and symbol names; improve where needed @done(23-05-03 20:56)
✔ add selection support to editor buffer (array of line slice ranges) @done(23-09-04 20:47)
✔ right @done(23-05-17 18:03)
✔ left @done(23-05-17 18:03)
✔ down @done(23-08-06 11:35)
✔ up @done(23-08-06 11:35)
✔ page up @done(23-09-01 18:56)
✔ page down @done(23-09-01 18:56)
✔ end of line @done(23-09-04 20:47)
✔ start of line @done(23-09-04 20:47)
✔ handle scrolling (rendering & selection) @done(23-09-03 20:26)
☐ implement copy
☐ implement cut
☐ implement paste
☐ implement delete
☐ add tests
☐ update enter key behavior so that it copies the previous line's indent
☐ optional type cleanup to disambiguate between `Index` and `Count`
- Add `Count` type: 1 based unit of measurement of "width" or "height", use this in codebase
- Add `Width`, `Height` as separate types
- Add `Index` type: 0 based index for slice range, use this in codebase
docs update (https://github.com/r3bl-org/r3bl-open-core/issues/102):
✔ clean up threading docs (in code) @done(23-05-01 15:01)
✔ fix threading bug in main event loop @done(23-05-02 14:07)
☐ add more tui/README.md (and copy that into tui/lib.rs)
☐ overview of the thing
- https://monroeclinton.com/pointing-devices-in-linux/
- GUI meets TUI, text reliant but GUI feeling apps that run in a terminal,
- ASCII art is used for UI (eg: dialog boxes being drawn w/ ANSI chars)
- ANSI escape codes are generated for the entire UI and send to stdout
- Redux store, and app is constructed, then injected into main_event_loop() fn
☐ mental model for the entire thing (dependency injection, etc)
- where do things live? in state or app? both are passed into main_event_loop() in launcher
- Get content from https://github.com/r3bl-org/r3bl-open-core/issues/103
- how do components work (use editor component as a case study)
☐ deep dive into the editor component itself
- how does it work?
- publish to DL
☐ concurrency / parallelism / async / tokio - how all this works
- async or parallel processing of input events
- async or parallel processing of redux reducers, and middleware (redux related)
☐ deep dive of unicode handling
- publish to DL
☐ deep dive of custom parser & syntax highlighter
- publish to DL
☐ deep dive of color support & color wheel & lolcat
- publish to DL
r3bl_cmdr alpha (https://github.com/r3bl-org/r3bl-cmdr/issues/23):
☐ notes editor (just one file at a time)
☐ file explorer (to quickly open files in a cwd)
☐ analytics measurement
☐ dashboard for weather (in status bar w/ beep-boop animation on weather loading)
☐ alpha release