Commit Graph

617 Commits

Author SHA1 Message Date
contrapunctus 8b0e3def68 Edit docstring, comment out debugging message 2022-01-05 14:32:46 +05:30
contrapunctus eaf09dea10 Add docstrings 2022-01-05 14:26:35 +05:30
contrapunctus d07f99ff3a Change protocol signatures; implement plist-group methods 2022-01-05 13:55:19 +05:30
contrapunctus d5ce69ff92 Update plist backend docstrings and parameters 2022-01-05 13:21:31 +05:30
contrapunctus 2cefb73052 Add details to docstrings, remove fs-event parameter from GF 2022-01-05 13:13:04 +05:30
contrapunctus 4298af549d Refresh buffer after backend reset 2022-01-05 11:50:47 +05:30
contrapunctus 18f8c77025 Move task-list procedures 2022-01-05 11:07:19 +05:30
contrapunctus e02acdd3cc Refactor on-change, add 3 new generic functions
on-add/on-modify/on-remove are not completely implemented yet
2022-01-05 11:05:08 +05:30
contrapunctus 9a8b359cd9 Update active backend when chronometrist-file is changed
Users' custom chronometrist-file value was being ignored unless it was
set before the package was loaded.
2022-01-04 01:30:23 +05:30
contrapunctus b42a651d21 Address errors 2022-01-04 01:29:26 +05:30
contrapunctus eaa1692d3a Use backend-empty-p instead of file-empty-p 2022-01-04 00:56:56 +05:30
contrapunctus 36336367ef Use cl- for other list accessors 2022-01-04 00:30:47 +05:30
contrapunctus 46e28b022b Replace second with cl-second 2022-01-03 19:08:43 +05:30
contrapunctus 06f2ceb44a Address byte compiler warnings 2022-01-03 19:00:41 +05:30
contrapunctus 4206ffe615 Merge branch 'grouped-plist-format' into dev 2022-01-03 18:45:32 +05:30
contrapunctus b2cb16ff10 Address byte compiler warnings 2022-01-03 18:45:16 +05:30
contrapunctus 1aab30d399 Reorganize protocol 2022-01-03 18:02:06 +05:30
contrapunctus 0874b9697a Remove update-properties 2022-01-03 17:50:34 +05:30
contrapunctus 2756239e68 Move file-state to class slot 2022-01-03 17:47:15 +05:30
contrapunctus 1bd3c16929 Rename reset-internal -> reset-backend 2022-01-03 14:07:45 +05:30
contrapunctus df00031285 Remove references to files from protocol 2022-01-03 03:20:24 +05:30
contrapunctus 5d5b423c59 Implement multi-backend tests
Reorganize plist backend methods
Address some failing tests for plist backend methods
2022-01-03 02:11:49 +05:30
contrapunctus 7ce9f8bf2d Move create-file earlier in the protocol 2021-12-27 14:03:14 +05:30
contrapunctus e031d43f24 Add error-checking and return values 2021-12-27 14:02:53 +05:30
contrapunctus 0fb0c6d0d6 Specify return value in protocol and update behavior 2021-12-26 19:36:44 +05:30
contrapunctus bd4680fc04 Return non-nil if create-file succeeds 2021-12-23 20:33:52 +05:30
contrapunctus a41662236f Replace `cl-assert` with `error`
A failed `cl-assert` does not pass a `should-error` test.
2021-12-18 15:02:06 +05:30
contrapunctus cbcb10fdd4 Rename check-preconditions to run-assertions 2021-12-13 11:51:17 +05:30
contrapunctus a123e59611 Add type checks and assertions for plist group methods 2021-12-13 11:19:05 +05:30
contrapunctus 34ff8f9038 Segregate extended protocol for plist-group backend 2021-12-13 10:21:20 +05:30
contrapunctus 74414c313b Segregate extended protocol, add check-preconditions
Add details to protocol docstrings
2021-12-12 20:01:54 +05:30
contrapunctus 7ca6413907 doc: explain plist-group specific concerns 2021-12-06 14:58:17 +05:30
contrapunctus 66853efd12 doc: clarify docstring for latest-record 2021-12-06 14:57:37 +05:30
contrapunctus 9d68ac8b53 Merge branch 'dev' into plist-group-handle-split-plists 2021-12-05 22:18:57 +05:30
contrapunctus 975b67af1f fix: order of records returned by plist-group to-list 2021-12-05 22:16:30 +05:30
contrapunctus 2ac54f418a Merge branch 'dev' into plist-group-handle-split-plists 2021-12-04 22:45:12 +05:30
contrapunctus 3fd8efea73 Create generic update-properties 2021-12-04 18:41:17 +05:30
contrapunctus 0e8e9f4373 Fix error messages to match Elisp guidelines 2021-12-04 18:39:46 +05:30
contrapunctus 7ddb9c653b Join line if only deleting a plist 2021-12-04 16:58:45 +05:30
contrapunctus c70a7791b0 code: use local variables for clarification 2021-12-04 15:15:33 +05:30
contrapunctus a947cca7c7 Throw error if remove-last is called on backend with no records 2021-12-04 15:13:40 +05:30
contrapunctus b469defcd4 Throw error if `insert` called with empty plist 2021-12-04 14:25:43 +05:30
contrapunctus 10b592a04b fix: make replace-last handle split plists 2021-12-04 14:19:31 +05:30
contrapunctus a669f2b765 fix: prevent leftover empty plist-groups 2021-12-04 12:58:54 +05:30
contrapunctus 07aaa0e78c fix: make remove-last take split plists into account
last-two-split-p - remove redundant conditions (we are checking for a
situation in which the newer-plist-group cannot, by definition, have
>1 plists), change return value.
2021-12-03 22:12:04 +05:30
contrapunctus 9e8c3659d5 Create last-two-split-p 2021-12-03 01:01:27 +05:30
contrapunctus d108a4fdcb style: tweak plists-split-p 2021-12-03 00:16:53 +05:30
contrapunctus 17b19d79f5 Create plists-split-p 2021-12-02 17:42:45 +05:30
contrapunctus 5e5697b326 fix: dispatch on correct backend object
(This didn't have any incorrect behaviour that I noticed...I wonder why.)
2021-12-01 15:46:29 +05:30
contrapunctus 37bc29d923 fix: pretty printer behaviour for nested list values 2021-11-30 18:10:34 +05:30
contrapunctus e8eadc7048 fix: message user when discard-active is not applicable 2021-11-29 16:42:42 +05:30
contrapunctus 4eb4f30873 feat: new command chronometrist-discard-active 2021-11-28 17:26:12 +05:30
contrapunctus 14f02ff402 feat: implement backend operation remove-last 2021-11-28 12:36:31 +05:30
contrapunctus 8b82d68822 fix: timer running even when file buffer modified 2021-11-28 00:53:36 +05:30
contrapunctus 510a9400e1 Adjust nameless configuration
(To get aliases to work again, at the cost of nameless-insert-name
breaking. Opened an issue in the nameless repository -
https://github.com/Malabarba/Nameless/issues/32 )
2021-11-27 18:21:50 +05:30
contrapunctus 55f875ce1f Change "plist-pp" to "pp" 2021-11-27 18:08:50 +05:30
contrapunctus 40926e9d54 Merge branch 'dev' into doc 2021-11-27 17:32:49 +05:30
contrapunctus da45400b23 doc: add debugging suggestion 2021-11-25 19:12:36 +05:30
contrapunctus d13362f6bf Move tests into chronometrist-tests.org 2021-11-22 17:01:57 +05:30
contrapunctus 87671c5a7f Merge branch 'doc' into dev 2021-11-22 16:43:59 +05:30
contrapunctus 2d28f896ff Remove unused local variable 2021-11-22 16:40:27 +05:30
contrapunctus a2a506f0f3 doc: clarify docstring 2021-11-22 16:39:43 +05:30
contrapunctus 702c1db887 Address byte compiler errors 2021-11-22 01:53:48 +05:30
contrapunctus 7e552e32fd Enable comment links to ease jumping from compilation errors to LP 2021-11-21 00:45:57 +05:30
contrapunctus 43a0645acd Add command to menu 2021-11-19 15:15:06 +05:30
contrapunctus e844e9f4b2 Create command to visit Org literate source 2021-11-19 15:10:17 +05:30
contrapunctus 0cc1a1174b Mention current name of macro 2021-11-19 15:05:54 +05:30
contrapunctus b0bbfb9ac5 Mirror changes in Org LP
(Forgot that this file was now an Org LP too.)
2021-11-18 12:00:28 +05:30
contrapunctus 7a3c5681ce Write currently-failing plist-pp-to-string test 2021-11-18 02:18:58 +05:30
contrapunctus 7b0df9a2d1 doc: mark hack 2021-11-18 02:14:11 +05:30
contrapunctus e15da603c7 [spark] write docstring 2021-11-09 23:13:14 +05:30
contrapunctus 866776d028 [plist-pp] handle plist groups 2021-11-08 22:44:01 +05:30
contrapunctus 552c64b967 [plist-pp] use shorter parameter name, add comments, use ?\s 2021-11-01 11:27:41 +05:30
contrapunctus 13c6cd184a [plist-group] temporary hack - reset data structures on file change
I intend to adapt the plist backend's change type detection code so it
can be used for any kind of s-expression file backends.
2021-11-01 11:04:47 +05:30
contrapunctus 38ba060de3 Fix incorrect backend being migrated 2021-11-01 11:03:54 +05:30
contrapunctus 8924e38401 Add :comments no in preperation for future top-level :comments link 2021-11-01 11:03:54 +05:30
contrapunctus a10e7f6e3a Fix chronometrist-migrate bugs 2021-11-01 11:03:54 +05:30
contrapunctus 62856f515d Move fs-watch to backend object slot 2021-11-01 11:03:54 +05:30
contrapunctus ae8c422d70 Run reset-internal instead of on-change after switching backends 2021-10-31 12:55:11 +05:30
contrapunctus 5892e9737f Write read-backend-name docstring; move to backend section 2021-10-31 12:53:37 +05:30
contrapunctus 186475d41e Create switch-backend command and register-backend function 2021-10-31 11:19:09 +05:30
contrapunctus 574ffd996c Split interval if necessary when clocking out 2021-10-31 09:55:58 +05:30
contrapunctus 7e19560d2a [plist-group] if required, create new tagged list before record insert 2021-10-30 09:51:21 +05:30
contrapunctus b70f304eb5 [plist-group] use hash table for task-records-for-date
* Move file-backend-mixin and related definitions to "common
  definitions for s-expression backends"
* Use loop-sexp-file and reinstate sexp-pre-read-check to reduce
  duplication
* Change some generics to dispatch on file-backend-mixin to make them
  common to the plist and plist-group backends
2021-10-30 01:17:23 +05:30
contrapunctus 7a17ed14a7 Rename functions; implement to-hash-table for plist-group
task-records -> task-records-for-date
active-time-one-day -> active-time-on

New generic - latest-date-records
Removed generic active-time
2021-10-30 00:00:35 +05:30
contrapunctus 06b29e3ce0 Update all references to chronometrist-events (except tests) 2021-10-29 09:54:28 +05:30
contrapunctus 45a2eeec06 Have details frontend use hash-table slot 2021-10-29 01:17:44 +05:30
contrapunctus 436aba7547 Remove list-tasks from backend protocol 2021-10-29 01:06:26 +05:30
contrapunctus d60d29c126 [key-values] remove key-value history limit 2021-10-29 00:40:54 +05:30
contrapunctus 4f0b0c0171 Use to-list + cl-loop instead of cl-loop wrapper macros 2021-10-29 00:40:54 +05:30
contrapunctus b0482699cd fix: use unwind-protect to always reset iterator state 2021-10-23 17:06:46 +05:30
contrapunctus 1d300249cc feat: customizable task list 2021-10-23 16:06:08 +05:30
contrapunctus d10684f817 Add task-records test; restructure tests 2021-10-21 14:56:04 +05:30
contrapunctus 9eb9a05dd7 Make current-task a regular function 2021-10-21 14:33:50 +05:30
contrapunctus 8fd4d19c82 convert tests to Org LP; move hash table into backend object
* create generic functions reset-internal, on-change, backend-empty-p, memory-layer-empty-p
* move most of refresh-file to on-change method
2021-10-20 19:31:11 +05:30
contrapunctus 15b9bb832e fix(key-values): let -> let* 2021-10-17 17:34:05 +05:30
contrapunctus 1aa1a30291 Write tests for loop-records; move generic function 2021-10-15 07:39:59 +05:30
contrapunctus 6424ef662c Remove docstrings from methods 2021-10-14 09:22:35 +05:30
contrapunctus 052bc23b17 Write backend tests 2021-10-14 09:21:28 +05:30
contrapunctus d6c980043b Implement insert method 2021-10-14 08:08:48 +05:30
contrapunctus 1f85435d56 Change slot name and values 2021-10-13 07:05:45 +05:30
contrapunctus 6bdb38f171 Implement replace-last 2021-10-13 06:59:34 +05:30
contrapunctus 786b6937ad Update task-records for changed loop-records interface 2021-10-13 06:56:45 +05:30
contrapunctus 177eb62d34 Update method for changed loop-records interface 2021-10-12 14:03:08 +05:30
contrapunctus fac18d2e08 optimize: speed up key/value history generation 2021-10-11 07:12:41 +05:30
contrapunctus 49d005be82 fix: remove :end from iterator states 2021-10-11 06:05:20 +05:30
contrapunctus b86825dded Use keywords for iterator-state; wrap cl-loop in save-excursion 2021-10-11 05:38:58 +05:30
contrapunctus 68d6b88bb0 doc: clarify plist time format 2021-10-10 22:02:13 +05:30
contrapunctus b76624c8e7 Convert plist-group-backend iterator to method;
Initialize iterator-state to t, so point is moved to (point-max) on
the first run of the iterator, too.

Our :after method for initialize-instance only applies to file-related
backends, and is thus changed to only dispatch on file-backend-mixin.
2021-10-10 21:58:27 +05:30
contrapunctus 5402130b27 Make iterator a generic function; store iterator-state as slot
Remove file-related details from `loop-records`
2021-10-10 17:52:52 +05:30
contrapunctus 1efc5ec7ac Move file-related slots into file-backend-mixin 2021-09-19 20:09:35 +05:30
contrapunctus a8cad8ccac fix file change detection 2021-09-13 19:34:20 +05:30
contrapunctus b310aa9298 migrate - fix insertion of file mode prop line 2021-09-12 19:19:41 +05:30
contrapunctus dfad505901 plist backend - fix test code 2021-09-12 17:22:08 +05:30
contrapunctus 4637f38408 optimize plist-group-read-record; extend backend documentation 2021-09-12 17:22:08 +05:30
contrapunctus 03b71132dc loop-records - fix infinite loop; list-tasks - fix test 2021-09-12 17:22:08 +05:30
contrapunctus e4c33d7097 create backend-generic `cl-loop` interface 2021-09-12 17:22:08 +05:30
contrapunctus 3b9e151bac migrate - prompt to overwrite if output file exists 2021-09-12 17:21:50 +05:30
contrapunctus 793491eb9b Remove list-records from protocol (there's already `to-hash-table`) 2021-09-10 19:41:55 +05:30
contrapunctus 69cda68f20 Convert references to chronometrist-file to chronometrist-backend-file 2021-09-09 21:25:40 +05:30
contrapunctus 7d7e801484 Update file watch setup for multiple backends 2021-09-09 18:30:37 +05:30
contrapunctus 34aeec3bb7 Revert changes to date format
Refactor spark-durations from spark-row-transformer for ease of
testing
2021-09-09 02:14:04 +05:30
contrapunctus c14fea723c (WIP) implement task-records from task-events-in-day
Use ISO date instead of TS struct when dates required
2021-09-07 07:21:05 +05:30
contrapunctus b1192b1fdf Protocol - move list-records; remove task-time
task-time does not need to be polymorphic
2021-09-07 07:20:23 +05:30
contrapunctus 648253172a Implement task-records 2021-09-07 06:24:13 +05:30
contrapunctus 9e34fb8058 correct to-hash method, class definition 2021-09-06 22:31:27 +05:30
contrapunctus e0a6ff13a9 Clarify section name 2021-09-06 19:33:33 +05:30
contrapunctus 7f90191a40 rename loop-file; implement list-tasks and current-task methods 2021-09-06 19:32:21 +05:30
contrapunctus 63df54aa2e chronometrist-migrate - prompt for backends and files 2021-09-06 15:42:02 +05:30
contrapunctus 092f3e8f07 Hard wrap and copy hash table docstring 2021-09-06 01:18:26 +05:30
contrapunctus 8d73749c3f Associate create-file with both plist and plist-group backends
Move definitions common to sexp backends together
2021-09-06 01:18:26 +05:30
contrapunctus 5a0d522e6f Describe plist group backend 2021-09-06 00:46:20 +05:30
contrapunctus dcf219aab4 Correct headings 2021-09-05 20:20:03 +05:30
contrapunctus 6893299427 Create methods stubs, create basic to-file method and migrate command 2021-09-05 19:10:37 +05:30
contrapunctus 43deef28af Use backend passed to method rather than active-backend 2021-09-05 17:39:43 +05:30
contrapunctus 3e7c41c9f7 Create on-file-change generic 2021-09-04 20:25:18 +05:30
contrapunctus 083a2f4d8e Adapt sexp-events-populate to to-hash-table 2021-09-04 20:20:59 +05:30
contrapunctus 78048824e5 Add package prefix to accessors 2021-09-04 19:45:20 +05:30
contrapunctus da1f2ed329 Fix more errors 2021-09-04 19:29:24 +05:30
contrapunctus 080e75a4c4 Move plist format description 2021-09-04 18:26:05 +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 9989cbf3d0 Update/clarify headings 2021-09-04 17:26:36 +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