add to readme

This commit is contained in:
mxhagen 2024-09-27 19:19:37 +02:00
parent a619e913d7
commit 2c40b9b726

View File

@ -10,9 +10,89 @@ Keep track of TODOs and deadlines using an interactive markdown TUI.
This is roughly what the UI looks like in the terminal This is roughly what the UI looks like in the terminal
```md ```md
Chores [todue] Chores
- [x] Get groceries (2024-06-20; 16:00) [x] (2024-06-20 16:00) Get groceries
- [ ] Do the dishes (2024-06-20; 20:00) [ ] (2024-06-20 20:00) Do the dishes
- [ ] Take out the trash (2024-06-20; 21:00) [ ] (2024-06-20 21:00) Take out the trash
``` ```
### Control scheme
The control scheme is vim-like and features a minimal line editor as well as datetime-input.
- `j`/`k`: move focus down/up
- `J`/`K`: move focused entry down/up
- `<space>`: toggle focused entry completed
- `q`: save and quit
- `Q`: quit without saving
- `g`/`G`: move focus to top/bottom
- `s`: cycle sort mode.
### TODO
Things that might be implemented in the future
- more controls
- `a`/`A`: append to entry text (enters line editor)
- `c`/`C`: change entry text (enters line editor)
- `i`/`I`: insert before entry text (enters line editor)
- `o`/`O`: edit new entry (after/before current - enters line then datetime editor)
- `r`: replace entry
- `/`/`?`: search entry by text (backwards) (wrapping)
- later on regex search
- `u`/`<ctrl-z>`: undo
- `<ctrl-r>`/`<ctrl-y>`: redo
- `z`: collapse/expand current group
- `yd`: copy entry date
- `yt`: copy entry text
- `yy`: copy entire entry
- `0`-`9`: as prefix for repeated commands
- line editor with vim commands (prefixed with mode)
- normal: `<esc>`: exit line editor
- normal: `a`/`A`: append (to end)
- normal: `i`/`I`: insert (at beginning)
- normal: `d`: delete
- normal: `x`: remove character
- normal: `c`/`C`: change
- normal: `r`/`R`: replace
- normal: `s`/`S`: substitute (equal to `cl` and `cc` respectively)
- normal: `v`: visual mode
- normal: `y`/`Y`: copy
- normal: `p`/`P`: paste
- normal: `u`/`<ctrl-z>`: undo
- normal: `<ctrl-r>`/`<ctrl-y>`: redo
- normal: `f`/`F` and `t`/`T`: find (until) (backwards)
- normal: `/`/`?`: search (backwards) (wrapping to beginning of line)
- later on regex search
- insert: `w`,`b`,`e`: like vim, including uppercase equivalent
- insert: `<esc>`: exit line editor
- insert: `<ctrl-w>`/`<ctrl-backspace>`: delete last word
- insert: `<ctrl-shift-v>`/`<shift-insert>`: paste
- visual: `a`/`i`: select all/inside of...
- datetime editor
- highlight date part (YYYY for example)
- `d`: remove entire deadline
- `<enter>`: go to next part
- `0`-`9`: input number (ignoring invalid inputs like months >12)
- sort mode: cycle through modes and set ascending/descending separately
- `r`: insert before entry text (enters line editor)
- collapsable todo group hierarchy
- detect indent width from md
- group entries together under previous entry with lower indent level
- display expandable groups in tui
- config
- keybinds
- some other options (?)
- some `:`-commands?
- regex substitution
- set commands for config entries
- help command that shows controls
- `set` with no key shows explicitly set keys (config and live)
- config wizard & write current config state to config file