forked from TimonPost/r3bl-cmdr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO.todo
54 lines (48 loc) · 2.59 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
╭┄┄┄┄┄┄┄┄┄┄┄╮
│ r3bl-cmdr │
╯ ╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
editor research:
☐ look at simple hex editor heh: https://github.com/ndd7xv/heh
- https://www.reddit.com/r/rust/comments/wj7wm4/media_i_created_a_rudimentary_terminal_ui_hex/
☐ look at editor w/ syntax highlighting Sodium: https://github.com/redox-os/sodium
☐ syntax highlighting video: https://youtu.be/4vw5iJMLQx0
☐ syntax highlighting crate: https://docs.rs/syntect/latest/syntect/
☐ scrolling: data buffer, cursor pos (row, col), scrolling (row offset, col offset)
- [src](https://github.com/nazmulidris/cli-editor/blob/main/src/main.rs)
- [viewer tutorial](https://tinyurl.com/2fdmgwxs)
- [editor tutorial](https://tinyurl.com/2b72v7u6)
- [search tutorial](https://tinyurl.com/27eukjbp)
- [syntax highlighting tutorial](https://tinyurl.com/2burb3by)
text editor ex (no: save/load, undo/redo, search):
☐ 2 col layout w/ 2 editor components (2 separate buffers), 50% width each
☐ switch focus between editors, support for independent cursors (insertion points)
☐ minimal grapheme cluster support
☐ minimal syntax highlighting support (text spans)
☐ minimal line wrapping support (text wrapping)
more editor features:
☐ undo, redo
☐ word wrap (use `textwrap` crate?)
☐ syntax highlighting
- create text span
- figure out how to maintain cursor positions (display, raw text, ANSI formatted text?)
☐ markdown syntax highlighting
- support for code block syntax highlighting
☐ search
☐ multi user cursor support
☐ multi user editing support
routing:
☐ introduce routing concept to switch between apps (with + without layout)
- "in-app": shared state among all components, route in state? OR
- "tmux style": have totally separate apps (each w/ separate redux stores, etc)
☐ build out the address book app (with routing) & use it to test out ideas
host components:
☐ multi select chooser (w/ option to select a single item)
☐ autocompletion provider
new ideas:
☐ flow editor (pagination / scrolling on wide screens)
☐ diagrams https://github.com/r3bl-org/r3bl-cmdr/issues/4
☐ desktop notifications https://crates.io/crates/notify-rust
mdns & p2p:
☐ Ideate on what this might look like
- local service discovery
- easy authentication (cloud auth provider login?)