-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO
85 lines (74 loc) · 2.65 KB
/
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
VTODO spec: https://datatracker.ietf.org/doc/html/rfc5545#section-3.6.2
vdir spec: https://vdirsyncer.readthedocs.io/en/stable/vdir.html
Looks like i'm overthinking this...
Instead of trying to convert ical component into ToDo and then back without loosing data,
i should use the decoded ical data as a single source and provide printing functions
that format the given component.
---
COBRA MIGRATION:
- [x] refactor all commands
- [ ] update command examples
- [ ] add shell completion files
- https://github.com/goreleaser/goreleaser/blob/main/scripts/completions.sh
- [ ] update readme
COBRA CLI EXAMPLES:
- https://github.com/goreleaser/goreleaser/tree/main/cmd
BUGS:
- [x] Collections() messes up the map with non-existing items in various collections
- [x] this is the result of incorrect path (higher up tree), should prob check if
the path actually contains calendars
- [x] new todos have a zero due
- [x] show problematic file when ical returns an error
- [x] don't add item to tagged map twice (e.g. tag in summary+description)
MISC:
- [ ] don't colorize due dates if todo is completed
- [x] store collection names in a sorted slice before printing
- [x] don't require list name if only one list
- [ ] add more tests for vdir package
- [ ] test for a vdir with many files
COMMANDS:
- [ ] tag
- [ ] e.g. `tdx tag 4 -someTag +otherTag` -- similar to notmuch
- [ ] list
- [ ] add custom usage output for list command
- current one is hard to scan
- [x] sorting
- [x] add a flag to organize by tags instead of list
- [x] parse tags in summary
- [x] parse tags in description
- [x] filter by range of dates (e.g. due next X days)
- [x] use lowercase for status and sort flags
- [ ] json
- [x] add
- [x] parse priority from args
- [x] do
- [x] delete
- [x] edit
- [x] show
- [x] purge
- [ ] stats: total lists, total todos, etc
- [ ] move between lists
FEAT:
- [x] edit command
- [x] open $EDITOR with predefined template
- [ ] json output for list
- [x] json output for show
- [x] date fields (created, completed, due, start)
- [x] find solution to do human dates
- https://github.com/hako/durafmt
- https://github.com/karrick/tparse/v2
- https://github.com/tj/go-naturaldate
- https://github.com/bcampbell/fuzzytime
ENCODING:
- [x] use a NewToDo func similar to NewEvent in go-ical
- [x] generate UID of specific format?
- [x] read about priority ical spec
- [x] update modified date on write
- [x] what is sequence?
DECODING:
- [x] ? parse #tags in description
- [x] (not needed for nor) make a map of [UID]ToDo instead of slice
CONFIG OPTIONS:
- [x] list of dirs to parse todos
- [x] default list
- [ ] components displayed on list cmd (date, description etc)