Create TODO/chronometrist, move 4 old items and add 2 new items to it

This commit is contained in:
contrapunctus 2020-08-12 01:01:19 +05:30
parent cec6c09ad4
commit 5bbcb08fc1
1 changed files with 9 additions and 4 deletions

View File

@ -31,10 +31,6 @@
- It _should_ ask for confirmation.
- Alternatively, or as a complement - an *undo command*, which will undo your last action (clock in or clock out).
- Undo and redo seem like the best bets.
2. [ ] *Convert* - change the currently clocked-in project to a different task. Tags and key-values may be re-queried. Clock-in hook functions will be run again with the new task as the argument.
3. [ ] *Rename* a project (updating all records)
4. [ ] *Delete* a project (erasing all records)
5. [ ] *Hide* a project (don't show it in any Chronometrist-* buffer, effectively deleting it non-destructively)
3. [ ] Hook enhancement - can we supply the whole plist (including tags and key-values) to the task-start hooks, so users can have even smarter hook functions?
* That would mean ensuring that -kv-read runs before other hooks.
* Actually, it should be trivial to access the last expression in the file, so maybe this is unnecessary.
@ -162,6 +158,15 @@
- [ ] clearing existing notifications
- [X] if last expression has a :stop value, stop alert timers
+ [ ] Also take time spent so far into account (e.g. don't start approach or complete alerts again if time has been exceeded and we're starting the task again despite that)
** chronometrist [0%]
1. [ ] Implement undo/redo by running undo-tree commands on chronometrist.sexp
2. [ ] *Convert* command
Change the currently clocked-in project to a different task. Tags and key-values may be re-queried. Clock-in hook functions will be run again with the new task as the argument.
3. [ ] *Rename* a project (updating all records)
4. [ ] *Delete* a project (erasing all records)
5. [ ] *Hide* a project (don't show it in any Chronometrist-* buffer, effectively deleting it non-destructively)
6. BUG - with tags and key-value query functions in before-out-functions, clock in Task A -> clock in Task B -> prompted for tags and key values for Task A, add some -> they get added to Task B 😱
** Code quality [0%]
1. [ ] Make functions more test-friendly. Quite a few can get away with returning values instead of writing to a file - this will make it easier to test them. Other functions can handle the file operations for them.
2. [ ] Rewrite using cl-loop