Commit Graph

152 Commits

Author SHA1 Message Date
contrapunctus
0b80713990 Move content of hacking.md into manual.org
Also move a TODO item from manual.org to TODO.org, and acknowledge
where the structure of the manual came from.
2020-07-09 10:13:53 +05:30
contrapunctus
d88587de8c Update hacking.md to reflect use of ts.el 2020-07-08 14:21:30 +05:30
contrapunctus
2e61afbb1b Reflect rename of chronometrist-goals to chronometrist-goal
And also reflect renaming of other definitions
2020-07-06 01:45:10 +05:30
contrapunctus
278f616008 Name new functions consistently 2020-06-26 01:44:52 +05:30
contrapunctus
fb7c4940df Optimization - reduce use of chronometrist-tags-history-populate
We now avoid running chronometrist-tags-history-populate for the
chronometrist-sexp-new and the chronometrist-sexp-replace-last
operations.

Clocking in/out is nearly instant now!
2020-06-26 01:15:51 +05:30
contrapunctus
dd7ec40da7 Optimization - reduce use of chronometrist-tasks-from-table
We now avoid running chronometrist-tasks-from-table for the
chronometrist-sexp-new and the chronometrist-sexp-replace-last
operations.

Hurray. Clocking in/out is tangibly faster now.
2020-06-25 18:14:25 +05:30
contrapunctus
5e4854272e Optimization - reduce situations in which events-populate is run
Namely, don't run it when appending an s-expression to the file, nor
when replacing the last s-expression. Instead, we modify the hash
table itself.

I wanted the code which sets chronometrist--inhibit-read-p to t to
also reset it to nil (ideally via `let`), but file watchers seem to
run _after_ the form modifying the file returns. (i.e. after the scope
of `let` ends and the global bindings are restored)

Still uncertain if this really has sped things up, though.
2020-06-25 14:34:12 +05:30
contrapunctus
c6fb67f74e Resurrect chronometrist-interval
It was used in my configuration, and has the potential to be used in
the program, too.
2020-05-22 10:31:59 +05:30
contrapunctus
3e90db9ac1 Add macro chronometrist-sexp-in-file 2020-05-22 01:14:29 +05:30
contrapunctus
b5c5cfd4a2 Update function reference; remove unused functions
Removed
chronometrist-report-format-date
chronometrist-statistics-format-date
chronometrist-interval
2020-05-21 08:48:11 +05:30
contrapunctus
d8f34d430b Update function reference and docstring
Also, add type information for chronometrist-day-start
2020-05-21 01:45:16 +05:30
contrapunctus
c190ced000 Replace time values with integer seconds
1. chronometrist-events->time-list -> chronometrist-events->ts-pairs,
now returns a list of ts pairs. Rewritten using cl-loop.
2. chronometrist-time-list->sum-of-intervals ->
chronometrist-ts-pairs->durations, now returns a list of durations in
integer seconds.
3. A critical bug in chronometrist-iso-timestamp->ts was discovered -
we were passing the output of encode-time (via
parse-iso8601-time-string) to (make-ts :unix ...) - the latter expects
a number, not a list.
4. Both chronometrist-task-time-one-day and
chronometrist-events->ts-pairs were checking if a task was still
ongoing. Removed the redundant checking from the former.
5. Updated docstring of chronometrist-active-time-one-day
6. chronometrist-statistics-count-average-time-spent rewritten using
cl-loop

Also, when trying to write tests, I realized that
chronometrist-events-clean has long been removed. Removed a reference
to it from the manual and a docstring.
2020-05-20 16:45:29 +05:30
contrapunctus
38eba669ec manual - convert time type table to Org tree 2020-05-20 03:25:42 +05:30
contrapunctus
f80cbeaaa7 Remove non-user-facing uses of integer minutes as duration type
Remove
chronometrist-task-minutes-one-day
chronometrist-minutes-string

Rename
chronometrist-minutes->alert-string -> chronometrist-seconds->alert-string
2020-05-19 16:09:14 +05:30
contrapunctus
0c05c431f5 Remove unused function; update time format reference 2020-05-19 15:05:31 +05:30
contrapunctus
a09058dcfd Change return values of seconds-to-hms and format-time
seconds-to-hms now returns a list instead of a vector.
chronometrist-format-time now takes integer seconds instead of lists
or vectors.

manual - remove types which are no longer used

Removed unused functions
chronometrist-time-interval-span-midnight?
chronometrist-time-add
2020-05-18 04:15:23 +05:30
contrapunctus
b6c9337a42 Remove 3 unused functions
Removed
chronometrist-time->seconds
chronometrist-date->time
chronometrist-date-less-p
2020-05-18 00:18:47 +05:30
contrapunctus
3f2fc0f662 Remove 3 unused definitions 2020-05-17 22:17:26 +05:30
contrapunctus
99fab0f92e Migrate statistics to ts.el
Removed - chronometrist-calendrical->date
2020-05-17 22:01:00 +05:30
contrapunctus
7bf6750c21 Migrate report to use ts.el 2020-05-17 20:40:36 +05:30
contrapunctus
e7c0eb055d Rewrite chronometrist-date to use ts.el
Rename chronometrist-make-ts-date to chronometrist-iso-timestamp->ts
2020-05-17 10:40:51 +05:30
contrapunctus
93097a5a85 manual - remove recently removed unused function 2020-05-17 09:54:23 +05:30
contrapunctus
fd4dc7008b Create make-ts-date
The tests for previous-week-start now pass.
2020-05-17 09:49:14 +05:30
contrapunctus
96f79a7f37 Use cl-defun + default values where applicable 2020-05-16 10:09:26 +05:30
contrapunctus
958551d498 Address nearly all byte compiler warnings
For the time being, we use a consistent pattern of packages requiring
sexp.el instead of the other way round.

chronometrist-current-task has been moved back to chronometrist-common
2020-05-16 08:35:54 +05:30
contrapunctus
ea65761ee9 Remove unused functions buffer-exists? and buffer-visible? 2020-05-15 23:06:58 +05:30
contrapunctus
b62301e870 Fix recursive load errors and some byte compiler warnings
chronometrist-open-log, chronometrist-common-create-file, and
chronometrist-current-task have been moved from
chronometrist-common.el to chronometrist.el

Comment out unused function chronometrist-file-clean, removing
chronometrist-events.el's dependency on chronometrist-plist-pp.el.

In the reference, use "Keymap" for keymap variables.
2020-05-15 15:17:54 +05:30
contrapunctus
97dc94e70c Create chronometrist-sexp-events-populate
And clarify some docstrings in chronometrist-events.el
2020-05-15 13:15:09 +05:30
contrapunctus
d65dea7d41 sexp.el - move sexp-create-file to 'modifications' section 2020-05-15 13:13:31 +05:30
contrapunctus
5903032f91 Move chronometrist-in and -out to chronometrist.el
Also, reorganize key-values.el a little and fix an error in the
functions reference.
2020-05-15 09:41:46 +05:30
contrapunctus
9e88e71212 delete-list - move to sexp, rename to sexp-delete-list 2020-05-15 09:18:20 +05:30
contrapunctus
30cee5d3a7 Create sexp-open-log, rename open-file to open-log
The naming gave me trouble - 'file' isn't suitable for
database-backends. I considered 'view-' or 'edit-', but it is
currently meant for both.

We might be revisiting this, if users (currently just me?) - after an
SQLite backend is implemented - turn out to make frequent use of an
SQL shell to interact with the log.
2020-05-15 09:02:18 +05:30
contrapunctus
d9e2cfc4df Decouple chronometrist-in and chronometrist-out from storage
We create chronometrist-sexp-new as a result.
2020-05-15 00:53:28 +05:30
contrapunctus
c63815ea72 Move more functions to -sexp
New
chronometrist-last
chronometrist-sexp-last
chronometrist-sexp-replace-last

Renamed
chronometrist-append-to-last-expr -> chronometrist-append-to-last

Moved/renamed
chronometrist-reindent-buffer -> chronometrist-sexp-reindent-buffer
2020-05-14 21:38:43 +05:30
contrapunctus
adab942d34 Add -sexp-create-file 2020-05-14 09:48:32 +05:30
contrapunctus
e7e3165828 Rename chronometrist-last-expr -> chronometrist-sexp-last 2020-05-14 09:21:56 +05:30
contrapunctus
e92ded3260 -sexp - move -last-expr, create -sexp-current-task 2020-05-14 09:16:30 +05:30
contrapunctus
bfddc66ff6 Rename chronometrist-sexp -> chronometrist-key-values
-sexp will be used for the current backend.
2020-05-14 07:32:49 +05:30
contrapunctus
50de365bdd hacking.md - suggest chronometrist-force-restart-timer 2020-05-14 05:52:01 +05:30
contrapunctus
6fc6939eed -goals - fix bug - notifications displayed incorrect time spent 2020-05-06 20:29:10 +05:30
contrapunctus
010bcd9381 Rename 'current' -> 'spent'; use minutes for time spent 2020-05-05 12:53:08 +05:30
contrapunctus
7cebd0d956 Change chronometrist-goals-alert-functions signatures
We will need to use the current time in all of them, so it's best to make it part of the extension interface.
2020-05-05 12:12:25 +05:30
contrapunctus
829135e414 Use consistent naming (targets -> goals, project -> task)
Also tried to define a type for chronometrist-goals-list, with uncertain results.
2020-05-05 12:06:17 +05:30
contrapunctus
f52e887e2c -no-goal-alert - improve representation of time in alert
chronometrist-task-time-one-day now returns seconds as an integer, which resulted in a lot of duct tape fixes, but seems like the right move in the long term.
2020-05-03 17:23:49 +05:30
contrapunctus
0dc9670c5c Merge branch 'dev' into flexible-timed-alerts 2020-05-02 16:19:39 +05:30
contrapunctus
f030087a21 Port 'toggle task without asking for reason' to s-exp format 2020-05-02 13:00:31 +05:30
contrapunctus
14873351b3 Manual - mark vector time values as dubious 2020-04-25 21:07:40 +05:30
contrapunctus
42b6331611 Update time format information 2020-04-25 02:03:17 +05:30
contrapunctus
e513bd48a1 Update function reference 2020-04-25 01:42:20 +05:30
contrapunctus
643be7d36a Merge branch 'master' into time-targets 2020-04-17 16:26:55 +05:30
contrapunctus
fd33bcd93f combine.md - tweak formatting 2020-04-13 23:41:19 +05:30
contrapunctus
814ae9c778 Manual - minor tweaks and updates 2020-04-02 01:25:35 +05:30
contrapunctus
bd8d7f414e Add TODO item and bug 2020-03-23 19:38:15 +05:30
contrapunctus
1532e4c358 Be smarter about handling different Lisp data types as values 2020-01-15 17:38:19 +05:30
contrapunctus
418e41c182 Update public-api to reflect (on) backend change 2020-01-15 16:55:28 +05:30
contrapunctus
c5903db96b Add chronometrist-query-stop 2019-11-29 16:40:56 +05:30
contrapunctus
624eace181 Replace "project" with "task" 2019-11-29 16:40:56 +05:30
contrapunctus
42e749f662 Migrate -statistics-count-active-days to new format 2019-11-29 16:40:56 +05:30
contrapunctus
80b9aec5ba Make the activity indicator customizable 2019-11-28 14:51:04 +05:30
contrapunctus
9ae39da05f Remove 2 more obsolete functions 2019-11-22 10:04:15 +05:30
contrapunctus
937782929a Manual - sort reference 2019-11-22 10:04:15 +05:30
contrapunctus
5eabd13eb0 Manual - update reference 2019-11-22 10:04:15 +05:30
contrapunctus
2508cbbda8 Manual - reformat section on midnight-spanning events 2019-11-11 17:40:44 +05:30
contrapunctus
1f86b7a87d Manual - move deprecated time formats to the end 2019-11-09 19:55:01 +05:30
contrapunctus
011f5da5bc Manual - add section on midnight-spanning events 2019-11-09 19:52:39 +05:30
contrapunctus
f3bfd04e44 Manual - update design goals (SQL) 2019-11-09 19:51:06 +05:30
contrapunctus
cf5a7b31b8 Migrate -diary-view to s-exp format 2019-11-02 12:20:17 +05:30
contrapunctus
88d18135c7 Remove unused function -report-dates-in-week->string 2019-10-31 20:44:40 +05:30
contrapunctus
2b2fa8634b Deprecate variable, 2 functions; prevent unchecked fs watch creation in other commands 2019-10-31 19:01:43 +05:30
contrapunctus
476ed8c381 manual - convert legend to table 2019-10-31 18:09:18 +05:30
contrapunctus
1740e6e413 -time - add -interval 2019-10-31 18:08:56 +05:30
contrapunctus
de9e0a09c4 doc - add type signatures for 3 functions 2019-10-30 23:28:10 +05:30
contrapunctus
31913543ac Create manual 2019-10-30 22:32:03 +05:30
contrapunctus
0228254d98 -kv-read - be smart about displaying keys to the user 2019-09-13 14:13:47 +05:30
contrapunctus
ee7ecdb76c doc - general solution to quit from completing-read without input 2019-09-13 13:19:34 +05:30
contrapunctus
ce664382df doc - add thoughts on quitting from completing-read 2019-09-13 10:52:25 +05:30
contrapunctus
f28c462be2 -kv-read - return t to work with hooks; doc - new schema idea 2019-09-11 19:05:47 +05:30
contrapunctus
e611684a52 Approach -kv-read/-kv-accept differently
Instead of trying to 'jump back' to -kv-read from -kv-accept, split
-kv-read and -kv-accept completely.
2019-09-11 14:38:05 +05:30
contrapunctus
2b03f70a6e -reindent-file -> -reindent-buffer; create -read-key-values 2019-09-11 00:56:35 +05:30
contrapunctus
d89a56ee02 doc - more ideas on UX/UI, history 2019-09-10 01:07:08 +05:30
contrapunctus
64d3778116 doc - more ideas for UI/UX of adding tags and key-values 2019-09-09 23:14:21 +05:30
contrapunctus
bd68eb1252 doc - remove references to hash-table-keys-as-indices 2019-09-09 23:12:15 +05:30
contrapunctus
228b2ab753 Go back to using dates as hash table keys for performance
This time as "YYYY-MM-DD" instead of '(YEAR MONTH DAY). See
"Optimization" in doc/new-format.md for more information.
2019-09-08 21:33:09 +05:30
contrapunctus
c3dd0738a0 Split events during reading, instead of modifying the file
-populate now also returns a more meaningful value.
2019-09-07 22:14:10 +05:30
contrapunctus
92aba09601 Update keybinds for chronometrist-open-file 2019-09-07 12:44:48 +05:30
contrapunctus
f8466f9b57 doc - more thoughts on midnight-spanning events 2019-09-07 12:10:26 +05:30
contrapunctus
05af9d05ff Implement in-file fixing of midnight-spanning events 2019-09-07 01:25:35 +05:30
contrapunctus
579fd299b6 New backend idea 2019-09-03 10:44:58 +05:30
contrapunctus
0b43423c79 Merge branch 'dev' into query 2019-09-03 10:33:18 +05:30
contrapunctus
941463a650 docs - add tag UI thoughts 2019-09-03 10:31:43 +05:30
contrapunctus
36d485e227 Document experiences and new decisions, add arbitrary plists idea 2019-09-03 10:19:09 +05:30
contrapunctus
61e3ee0c81 Add concurrent project counter-arguments, new format idea 2019-08-30 22:35:51 +05:30
contrapunctus
e54f80ad06 Create macro stub, implement basic return specifier
The return specifier won't work for all cases yet, though, because the
format of our test table is wrong.
2019-08-17 11:31:05 +05:30
contrapunctus
7f03c71374 Extend syntax spec, existing art notes 2019-08-17 01:02:35 +05:30
contrapunctus
7e592ef7f2 Add ideas on using integers as keys 2019-08-15 13:30:49 +05:30
contrapunctus
d8970e10a6 Add ideas on better querying 2019-08-15 00:03:02 +05:30
contrapunctus
3af4f73630 Update docs 2019-08-09 07:43:25 +05:30
contrapunctus
0e226f1493 Add functions to -time 2019-08-09 07:26:51 +05:30
contrapunctus
ac6e8d299f Remove assist-related code from master 2019-08-06 02:28:54 +05:30
contrapunctus
ff0ceb1b74 Clarify tree and tags ideas, assist issue 2019-08-06 02:16:43 +05:30