Commit Graph

314 Commits

Author SHA1 Message Date
contrapunctus da1f2ed329 Fix more errors 2021-09-04 19:29:24 +05:30
contrapunctus a948fb4632 backend protocol - create count-record generic 2021-09-04 18:23:06 +05:30
contrapunctus 88d06da043 backend protocol - create migration generics 2021-09-04 18:08:06 +05:30
contrapunctus b218a835f7 plist backend - correct errors 2021-09-04 18:01:56 +05:30
contrapunctus 297f288130 Correct docstring 2021-09-04 17:29:34 +05:30
contrapunctus 3f30eadbb0 Create method for list-tasks 2021-09-04 17:26:10 +05:30
contrapunctus af286f2d5d Create method for replace-last 2021-09-04 14:49:18 +05:30
contrapunctus dee921244b Create method for insert 2021-09-04 14:21:44 +05:30
contrapunctus 4e6243b3e3 Update call sites for create-file 2021-09-04 14:14:47 +05:30
contrapunctus 2b6ee13b96 Create method for create-file 2021-09-04 14:10:25 +05:30
contrapunctus 622914397e Create method for latest-record 2021-09-04 14:01:22 +05:30
contrapunctus 445614e9aa backend - add file slot 2021-09-04 13:55:26 +05:30
contrapunctus 260aafaebb Make edit-file method for plist backend 2021-09-04 08:45:56 +05:30
contrapunctus 0d612f28b5 Update current-task call sites 2021-09-04 08:43:32 +05:30
contrapunctus 7bb023caf5 Rethink custom interface 2021-09-04 08:11:57 +05:30
contrapunctus 7c55a19e1f feat: create generic backend protocol 2021-09-04 00:28:33 +05:30
contrapunctus ba9e8dfa9c fix: correct docstring; indent code 2021-09-02 21:05:30 +05:30
contrapunctus 73e6d98612 doc: bump versions 2021-07-08 03:17:55 +05:30
contrapunctus 58f0fdf0ba feat: add menu entry and keybinding for force-restart-timer 2021-07-08 03:15:47 +05:30
contrapunctus 61eb311d0a feat(details): create new buffer for each range 2021-07-06 23:38:00 +05:30
contrapunctus 224a7fec3f cleanup: remove iso-date-to-ts, rename iso-timestamp-to-ts -> iso-to-ts 2021-07-03 10:59:22 +05:30
contrapunctus 26e3dd5c5d feat(details): implement timestamp ranges 2021-07-03 10:51:36 +05:30
contrapunctus 7976b53d91 fix(details): flatten key-values, remove keywords 2021-07-03 06:20:10 +05:30
contrapunctus 1931e88c85 feat(details): support begin/end in ranges 2021-07-03 00:23:56 +05:30
contrapunctus 883f813615 Merge branch 'doc' into details-view 2021-07-01 07:29:13 +05:30
contrapunctus 0f68ab4f38 feat(details): add more menu items 2021-07-01 07:24:58 +05:30
contrapunctus f7f2349004 fix(details): set history variables 2021-07-01 07:24:26 +05:30
contrapunctus a04ca1fd28 fix(details): correct error 2021-06-28 07:50:19 +05:30
contrapunctus cc77b18797 fix(details): use read-from-minibuffer for filter 2021-06-28 06:53:35 +05:30
contrapunctus fd468a9ed5 feat(details): implement filter; refactor `rows` 2021-06-28 06:08:45 +05:30
contrapunctus b774700450 feat(details): create prompt, menu 2021-06-27 22:24:37 +05:30
contrapunctus c4b94be941 feat(details): implement custom ranges 2021-06-27 22:24:28 +05:30
contrapunctus 9f8e455e01 feat(details): create state variables for custom ranges and filters 2021-06-27 20:57:38 +05:30
contrapunctus 3f3567903b Merge branch 'dev' into doc 2021-06-27 03:38:47 +05:30
contrapunctus 2f8d136bf6 doc: shorten docstring 2021-06-26 09:09:11 +05:30
contrapunctus 37afe58cd9 fix: move menu after keymap 2021-06-22 06:14:27 +05:30
contrapunctus e57a244519 feat: change menu text; add keybinding for details view 2021-06-17 22:32:50 +05:30
contrapunctus e4b4dc277b feat(chronometrist-menu): add more entries; remove keybind printing 2021-06-16 05:35:55 +05:30
contrapunctus 50b2b03036 feat(chronometrist): create menu 2021-06-15 22:05:24 +05:30
contrapunctus dc3692270d cleanup: create commands-to-print-alist 2021-06-15 10:14:19 +05:30
contrapunctus 2f26ef0a60 feat: add missing keybindings 2021-06-14 23:42:33 +05:30
contrapunctus 1ad4a92ebf cleanup: remove chronometrist-command-helper
It was neither shorter nor particularly easier to read... 🤔
2021-06-14 23:41:47 +05:30
contrapunctus 8141b6604c feat[restart/extend]: fail with message rather than silently 2021-06-14 15:01:50 +05:30
contrapunctus 34fa77a173 refactor: use chronometrist-command-helper 2021-06-14 14:48:03 +05:30
contrapunctus 69f2b1d5c4 refactor: create chronometrist-command-helper 2021-06-14 14:45:16 +05:30
contrapunctus a3144050e4 doc(chronometrist-restart-task): clarify docstring 2021-06-12 21:12:55 +05:30
contrapunctus b0367023ef feat: new command chronometrist-extend-task 2021-06-12 21:12:37 +05:30
contrapunctus de41c158b5 feat: new command `chronometrist-restart-task` 2021-06-12 01:52:32 +05:30
contrapunctus 29c8939a7d rename: task-active? -> task-active-p 2021-06-12 01:25:01 +05:30
contrapunctus 89afc959e9 Merge branch 'sparkline' into dev 2021-06-08 11:15:19 +05:30
contrapunctus 8a2c4c0b54 refactor: format-duration-long + create tests 2021-06-07 23:13:38 +05:30
contrapunctus 343a08665f fix(details): do not display user keywords if using format string 2021-06-05 15:18:12 +05:30
contrapunctus 2f1ea5fd1f Merge branch 'dev' into doc 2021-06-05 10:06:17 +05:30
contrapunctus 0e22c725db doc(docstring): update argument name in docstring 2021-06-05 10:05:37 +05:30
contrapunctus 5c5b7fc5e7 fix: address linter complaints 2021-06-03 22:26:59 +05:30
contrapunctus e1f6121230 fix: tangle tests to separate files 2021-06-03 02:12:04 +05:30
contrapunctus 753e8115cc Merge branch 'doc' into dev 2021-06-03 01:43:01 +05:30
contrapunctus 529cd544d0 fix: address byte compilation warnings 2021-06-03 01:26:19 +05:30
contrapunctus 7e2d531bcf doc: remove root heading, demote all child headings 2021-06-02 03:56:27 +05:30
contrapunctus 3c8be625ce fix: on-save tangling setup; -let instead of -let* in spark 2021-06-01 18:37:29 +05:30
contrapunctus a6c02aaf80 fix(distribution): ship Elisp file; remove literate-elisp dependency 2021-06-01 17:35:01 +05:30
contrapunctus 0d9c7a2fd4 Run package-lint; update links 2021-05-31 01:07:33 +05:30
contrapunctus d0d065a7d9 Bump versions 2021-05-18 15:21:19 +05:30
contrapunctus 81b12053bc Bump versions 2021-05-07 14:53:16 +05:30
contrapunctus c33b3ae3fe [literate] add literate-elisp dependency; remove tangling setup 2021-04-12 08:33:46 +05:30
contrapunctus 129c7f7d78 test: make test.sexp before running tests
This does away with the whole issue of discovering the test.sexp file accurately.

It's also the point where I have increasing misgivings about shipping
the Org file itself. The tests, explanation docs, and now test
data...might be a "lot of" extra bytes to download, for something most
users have no need of.
2021-02-23 06:42:08 +05:30
contrapunctus f6082aeb1e [fix] void variable error in chronometrist-report-entries 2021-02-22 18:03:32 +05:30
contrapunctus 3ea6df7f20 [tests] moved tests to Org files
Upside - no more jumping between definitions and tests

Downside - if we ship the Org file, users will have to download some more bytes
2021-02-22 18:02:39 +05:30
contrapunctus 36e17fb4d7 [bugfix] incorrectly split plists in chronometrist-events 2021-02-22 17:59:16 +05:30
contrapunctus 8b09562aca [WIP] [bugfix] incorrectly split plists in chronometrist-events 2021-02-22 02:11:45 +05:30
contrapunctus 3fe5260972 Style and documentation changes 2021-02-21 22:09:00 +05:30
contrapunctus 83bbe0bd6a [data structures] add reset command 2021-02-18 15:52:26 +05:30
contrapunctus 665705f1b5 [literate] tag functions according to their...function
Shorten file-empty-p

Merge `events->ts-pairs` and `ts-pairs->durations` into `events-to-durations` - they were only used in two places, both times with the results of the former being passed to the latter, and it didn't seem to me that they'd ever be used separately.

Rename all functions using the Scheme-like "foo->bar" naming scheme to the Elispy "foo-to-bar".

Move many docstrings out of source blocks into Org text and TODO items.

Remove unused chronometrist-report-date

Used `with` instead of `let` in chronometrist-report-entries

Use `loop` instead of `maphash` in `chronometrist-statistics-count-average-time-spent`
2021-02-16 13:11:30 +05:30
contrapunctus fbbfd1eeec [literate] checkdoc and package-lint changes 2021-02-15 05:31:34 +05:30
contrapunctus 3fb016cd75 [literate migration] add missing function 2021-02-11 15:48:26 +05:30
contrapunctus 2b02967dc9 [Literate migration] Add missing function 2021-02-11 14:52:50 +05:30
contrapunctus d87997a0cd Remove dependencies on anaphora and s 2021-02-11 13:37:36 +05:30
contrapunctus 203838aa49 Merge branch 'dev' into literate 2021-02-11 12:08:50 +05:30
contrapunctus d1b42bbf0d Bump versions 2021-02-11 11:31:05 +05:30
contrapunctus fd376c7cf1 iso-date->ts - use pattern matching 2021-02-09 01:38:17 +05:30
contrapunctus aab2590e98 count-active-days - rewrite using cl-loop 2021-02-09 01:30:36 +05:30
contrapunctus 9f94250d94 Move task-list function to backend 2021-02-09 01:17:22 +05:30
contrapunctus 5cd9c9db47 "Hash table" -> "Data structures", move task list and related functions 2021-02-09 00:35:29 +05:30
contrapunctus 9e1358dac9 Remove unnecessary variable whitespace-re 2021-02-09 00:20:59 +05:30
contrapunctus 4a7988e46d Remove blank lines 2021-02-09 00:04:48 +05:30
contrapunctus 39e66829e5 Update auto-tangle sed script 2021-02-08 14:40:28 +05:30
contrapunctus 3bed912dcc Emit newlines in tangled source 2021-02-08 01:05:21 +05:30
contrapunctus cb1293b6cd Move definitions from chronometrist-timer.el to chronometrist.org 2021-02-07 23:20:56 +05:30
contrapunctus f32f81844a Move definitions from chronometrist-time.el to chronometrist.org 2021-02-07 21:52:53 +05:30
contrapunctus d7ec8906f4 Move definitions from chronometrist-queries.el to chronometrist.org 2021-02-07 21:42:50 +05:30
contrapunctus 9bdf9fe47b Move definitions from chronometrist-migrate.el to chronometrist.org 2021-02-07 21:41:54 +05:30
contrapunctus 018fcdd858 Address some corner cases for task list updates 2021-02-05 17:11:28 +05:30
contrapunctus e11ac89359 Tangle chronometrist.org 2021-02-05 16:15:29 +05:30
contrapunctus a7b70b5a3e chronometrist.el - move definitions to chronometrist.org 2021-02-04 08:58:21 +05:30
contrapunctus 8be5eb1ccb refresh-file - add some more checks 2021-02-03 18:02:40 +05:30
contrapunctus 1d4d5591a1 file-change-type - clean up comments and indentation 2021-02-03 17:55:05 +05:30
contrapunctus 5da1912f17 Refactor refresh-file; create chronometrist-sexp-mode for sexp file 2021-02-02 18:48:54 +05:30
contrapunctus 09a5d127a1 (WIP) try to handle vanished/replaced file; unify partial update functions 2021-01-30 12:08:57 +05:30
contrapunctus 22ea8b4e99 Bump versions 2021-01-27 21:29:04 +05:30
contrapunctus 9a47f624bb Remove unnecessary refresh-file call
It is already called at the end of `chronometrist-in`
2021-01-27 21:26:38 +05:30
contrapunctus b8271bdd81 Update task list on file changes 2021-01-27 21:24:23 +05:30
contrapunctus c63ca7a552 Use pcase instead of cond 2021-01-27 13:46:43 +05:30
contrapunctus 3d898e6dd8 Remove unused variable 2021-01-27 13:46:02 +05:30
contrapunctus 0bcd711bdc Fix error when running emacs with `-q` 2021-01-27 12:41:01 +05:30
contrapunctus f664297378 Update versions and changelog 2021-01-19 13:23:24 +05:30
contrapunctus cef185de5c Bump versions, update CHANGELOG 2021-01-07 03:17:30 +05:30
contrapunctus 1b13db776b Comment out debugging `message` call; bump versions 2021-01-04 10:56:36 +05:30
contrapunctus e95ad1d6e2 Bump versions, update changelog 2021-01-04 08:55:52 +05:30
contrapunctus 0189c89a9b Remove dependency for transformers 2021-01-04 08:44:48 +05:30
contrapunctus 7204050f7f Create loop wrapper macro, remove mapcar-file/mapc-file 2021-01-04 00:43:48 +05:30
contrapunctus 682d801457 Update file-hash call sites, reinstate number/marker arguments 2021-01-03 22:08:29 +05:30
contrapunctus 4b451004a5 Remove unused hash of last sexp 2021-01-03 13:31:13 +05:30
contrapunctus f73169dcb7 Remove plist from hash table when :remove detected 2021-01-03 13:13:48 +05:30
contrapunctus d3095d4377 Detect removal of last s-expression 2021-01-03 13:13:35 +05:30
contrapunctus c7131e69e6 Correct tag generation behavior/max eval depth error 2021-01-03 08:51:07 +05:30
contrapunctus ba27ee8a2e Clean up code 2021-01-02 23:34:50 +05:30
contrapunctus aacc109b88 Update file hashes unconditionally 2021-01-02 23:29:39 +05:30
contrapunctus 5fce2aae60 Fix undefined variable errors; parse full file if hashes not defined 2021-01-02 23:12:47 +05:30
contrapunctus 8ddcabb2c2 Use file change type for partial updates of memory layer
What was a few-second-long wait is now barely perceptible.
Optimization successful, I guess, barring any bugs.
2021-01-02 23:06:58 +05:30
contrapunctus 4288b10a2c Fix file change type code 2021-01-02 22:11:33 +05:30
contrapunctus a974c6a905 Merge branch 'dev' into optimize-by-hashing 2021-01-02 18:36:26 +05:30
contrapunctus ebbed71fcb Generate value history from file, just before prompt 2021-01-02 12:41:54 +05:30
contrapunctus 796626904e Fill key history per-task, before prompt 2021-01-01 00:58:07 +05:30
contrapunctus 3d9debf989 Fill tag history per-task, before prompt 2020-12-31 06:06:14 +05:30
contrapunctus eaf0d7feec Merge branch 'master' into dev 2020-12-22 20:45:41 +05:30
contrapunctus 551a750cae Bump versions and changelog, add idea for customizable field widths 2020-12-22 20:30:09 +05:30
contrapunctus f83b9a783f Use text properties to get the task at point 2020-12-22 20:29:22 +05:30
contrapunctus e5281ffe52 Remove `require` forms for deleted custom definition files 2020-11-26 01:59:49 +05:30
contrapunctus 7e9341d6da Remove dedicated files for custom variables 2020-11-18 14:20:06 +05:30
contrapunctus 551a9825b2 file-change-type - make code clearer 2020-11-01 16:58:49 +05:30
contrapunctus 49dce9fede Rename call-transformers -> run-transformers 2020-09-08 11:30:52 +05:30
contrapunctus 17dbe4babc Use chronometrist-mode-hook and transformers for chronometrist-goal
The idea is for chronometrist to not need know about extensions.
2020-09-07 08:40:50 +05:30
contrapunctus faf48ad526 Add two transformer lists, call-transformers dependency 2020-09-06 19:00:11 +05:30
contrapunctus 54ba0be8da Format code to be denser 2020-09-06 14:05:24 +05:30
contrapunctus 15ff136980 TODO - add items for Magit integration and alist pretty-printing 2020-09-05 21:47:58 +05:30
contrapunctus a98a04d52a Reformat code to make it denser 2020-09-02 19:25:55 +05:30
contrapunctus 18d5289072 file-change-type - use pattern matching 2020-08-31 11:42:53 +05:30
contrapunctus 2568380d19 file-change-type - handle shrinking file, correct :append logic 2020-08-31 11:36:38 +05:30
contrapunctus 7e292717e2 Add functions to detect type of changes made to chronometrist-file 2020-08-31 01:23:43 +05:30
contrapunctus 94e1133cd4 Use format instead of concat, reindent code to be denser 2020-08-30 12:05:01 +05:30
contrapunctus 7a2b491a3c key-history-populate - change signature
Move description of key-history from the docstring of
key-history-populate to that of key-history.
2020-08-29 14:14:58 +05:30
contrapunctus 872825a571 tags-history-populate - change signature, return value; add tests 2020-08-28 19:30:53 +05:30
contrapunctus 029935b55c in-fn/out-fn -> in-function/out-function 2020-08-12 01:31:22 +05:30
contrapunctus 7fd0606337 Use eval-when-compile; remove TODO items
The former seems to be a clearer expression of intent; the latter are
moved to the TODO file
2020-08-12 01:29:34 +05:30
contrapunctus c32ec6572d Update comparisons in package description 2020-08-12 01:24:55 +05:30
contrapunctus cec6c09ad4 Update homepage in source 2020-08-12 00:31:53 +05:30
contrapunctus 3ba94573a6 Bump versions 2020-07-19 18:06:11 +05:30
contrapunctus 446faf253a Fix bug causing only the latest tag suggestion to be displayed 2020-07-19 18:04:46 +05:30
contrapunctus e225b4c7c5 Improve nameless.el configuration
Finally, I'm able to use the aliases the way I wanted. Shorter
identifiers for all sub-packages, everywhere!
2020-07-18 19:23:14 +05:30
contrapunctus eaee3f9a17 Move docstring to the right place 2020-07-08 14:22:54 +05:30
contrapunctus 0445b51872 Update call for chronometrist-get-goal -> chronometrist-goal-get 2020-07-06 17:06:57 +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 077f56dce3 Bump versions 2020-07-05 23:48:51 +05:30
contrapunctus cc45e29e95 Update Commentary with user-relevant information
I had no idea package.el used this for the long description of the
package!
2020-07-05 23:46:14 +05:30
contrapunctus 2c898d8fc0 Bump versions 2020-06-30 15:14:21 +05:30
contrapunctus 64772b0cd5 Add missing dependency declaration for ts.el 2020-06-30 14:59:20 +05:30
contrapunctus faeb0a2040 Merge branch 'dev' 2020-06-30 01:16:01 +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 5ed8111936 Merge branch 'dev' into less-reading-v2 2020-06-25 18:35:03 +05:30
contrapunctus db25451b06 Fix bug where pushing a button would always trigger the first task
(prefix-numeric-value nil) => 1, so we were always going to the
first line.
2020-06-25 18:34:06 +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 868325c4db Fixed prefix arguments not working if point was on a button 2020-05-24 02:08:40 +05:30
contrapunctus da552aa6ac Move source files to elisp/ 2020-05-22 01:13:52 +05:30