aboutsummaryrefslogtreecommitdiff
path: root/notes.txt
blob: 09c309804ea235a7efe8395418327c365d46debf (plain)
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
habit:
`-type: bit/count
`-stats:
  `-year:
    `-month:
      `-bit:
      | `-dates - array
      |
      `-count:
        `-dates - k,v pairs

habit:
`-type: bit/count
`-stats: k,v (dates, bit/count)

Cycle habit type:
 - n states
 - cycles through states on prev next events
 - represent by symbol/char
 - ser to usize?

Modes:
 - day mode - shows all days of 1 month
    * sift months on prev/next
 - week mode?
    * aggregate stats for 1 week
    * show 4 weeks per view
    * bar graph for count and bit

Command mode:
 - add command
    * add <name> <type> <goal>
    * add <name> --type <type> [--goal <goal>]
    * interactive add command via questionnaire?
 - edit command?
    * edit <name> <new-type> <new-goal>
    * edit <name> --goal <new-goal>
    * edit <name> --type <new-type>
    * interactive edit command via questionnaire?
 - delete command
    * delete <name>
    * delete _ (deletes focused?)
 - chronological nav:
    * month-prev mprev
    * month-next mnext

Interface:
 - move view port if focused view goes outside bounds
 - tab completion for command mode? requires lex table
 - move command window to bottom, styling
 - prefix command window with `:`

Undo-tree:
 - store app states in memory
 - should store diffs? or entire state?
 - ideal undo depth limit?

Auto-trackable habits
 - allow editing these habits via cli
 - can track commits, crons
 - disallow editing these habits via curses
 - storage
    * will be mutex with non-auto habits
    * serialize and save separately each other? [imp]