Commit graph

537 commits

Author SHA1 Message Date
Adam Porter
d336554e9c Fix: (org-ql-select) Remove extra quote
Oops.
2019-09-09 20:48:31 -05:00
Adam Porter
6a93e887cc Comment: Remove done TODOs
I wish I could remember to remove these when I commit the code that
does them!
2019-09-09 20:48:28 -05:00
Adam Porter
622f0e6d5e Add: helm-org-ql
Squashed commit of the following:

commit f4c2ce37199eb6eab5038e6bdadf5d57f8d88cd3
Author: Adam Porter <adam@alphapapa.net>
Date:   Mon Sep 9 16:56:04 2019 -0500

    Docs: Add about helm-org-ql C-x C-s

commit 845a205f7b17904cb9f8e379dc172787cdd16018
Author: Adam Porter <adam@alphapapa.net>
Date:   Mon Sep 9 16:25:46 2019 -0500

    WIP: Update docs and add screenshot

commit d8aa8a50169d3ecdee4d85a0f7cd6e1dc26e420e
Author: Adam Porter <adam@alphapapa.net>
Date:   Mon Sep 9 16:25:18 2019 -0500

    WIP: Ignore all query errors

    Partially typed queries might cause parsing errors.

commit 782a830a5fb7d77ea2eba3553f46cc4dcac98708
Author: Adam Porter <adam@alphapapa.net>
Date:   Mon Sep 9 16:24:57 2019 -0500

    WIP: (deadline) and (priority)

commit d32e3e33f97dfa7593f4376c08eb31b0ccb980a2
Author: Adam Porter <adam@alphapapa.net>
Date:   Mon Sep 9 14:26:54 2019 -0500

    WIP: Compatibility

    Trying to make it install and run cleanly even when Helm isn't
    installed.

commit 4bd9943f86ef543903e10f3b58b26c0eb366d869
Author: Adam Porter <adam@alphapapa.net>
Date:   Mon Sep 9 13:47:41 2019 -0500

    Add: (helm-org-ql-org-directory)

commit d9a04e142ae68f83201c311fa84a46fa8f4e0ce0
Author: Adam Porter <adam@alphapapa.net>
Date:   Mon Sep 2 12:23:51 2019 -0500

    WIP: Add helm-org-ql.el
2019-09-09 17:10:46 -05:00
Adam Porter
1ff21dc0c8 Fix: (org-ql--get-tags) For Org 9.2
org-get-tags takes no arguments.
2019-09-09 14:58:21 -05:00
Adam Porter
21d0fadecf Fix: Require org-element
I don't know if this is actually required, but it should silence a
compiler warning.
2019-09-09 14:57:48 -05:00
Adam Porter
ea2ed02c84 Add: (path) predicate 2019-09-09 14:08:48 -05:00
Adam Porter
29c3cdd360 Add: (heading) Preambles 2019-09-09 13:41:31 -05:00
Adam Porter
2f9a7ab6b7 Change: (heading) Match all regexps
This makes more sense and should be more useful.
2019-09-09 13:40:56 -05:00
Adam Porter
f6bd02b355 Comment: Tidy preamble function 2019-09-09 13:38:58 -05:00
Adam Porter
4e90ba47b0 Meta: Update makem.sh 2019-09-09 10:40:46 -05:00
Adam Porter
deb78e51c7 Merge: 0.2.1 2019-09-09 09:07:44 -05:00
Adam Porter
55694f17fc Fix: (descendants) matched against parent heading
It matched against parent headings instead of only descendants, which
caused some queries to return incorrect results.

Released as 0.2.1.
2019-09-09 09:05:13 -05:00
Adam Porter
91771c41e6 Meta: Update makem.sh, Makefile 2019-09-09 09:00:56 -05:00
Adam Porter
7cdc134f0d Notes: Add on section view 2019-09-08 10:11:07 -05:00
Adam Porter
6aa3f1a341 Notes: Add "In the Wild" 2019-09-07 20:10:42 -05:00
Adam Porter
eb722649c5 Add: org-ql-block-header
Closes #32.
2019-09-06 12:35:45 -05:00
Adam Porter
8a624bdf0d Change: (heading) Accept multiple regexps 2019-09-06 12:04:12 -05:00
Adam Porter
8a812323fc Fix: (--tags-at) Respect tag inheritance options
Respect org-use-tag-inheritance and org-tags-exclude-from-inheritance.

Fixes #43.  Thanks to Josiah Schwab (@jschwab) for reporting.
2019-09-06 11:55:59 -05:00
Adam Porter
bf20251e93 Fix: (org-ql-search) Group completion when osa not installed 2019-09-06 05:26:18 -05:00
Adam Porter
57cad50761 Notes: Add struct PoC 2019-09-05 15:51:40 -05:00
Adam Porter
f55aae782c Add: tags-all, tags& 2019-09-05 15:51:40 -05:00
Adam Porter
dcad551760 Notes: Add on node caching 2019-09-05 15:51:40 -05:00
Adam Porter
f70c34d765 Notes: Add on helm-org-ql 2019-09-05 15:51:40 -05:00
Adam Porter
ca9ab3e6a5 Add: Tag cache, inherited/local tags predicates 2019-09-05 15:51:40 -05:00
Adam Porter
3ec5e08a6b Notes: Add caching of inherited tags 2019-09-05 08:10:51 -05:00
Adam Porter
a8b93a8a09 Notes: Add 2019-09-05 05:40:00 -05:00
Adam Porter
88a667b0fe Add: org-ql-sparse-tree
Thanks to Akira Komamura (@akirak).  Closes #34.
2019-09-04 06:03:01 -05:00
Adam Porter
0b20be451f Meta: 0.3-pre 2019-09-04 05:29:52 -05:00
Adam Porter
9c0f83be9c Notes: Add idea 2019-09-03 06:17:38 -05:00
Adam Porter
01772f3c8a Docs: Add example 2019-09-02 14:42:20 -05:00
Adam Porter
09b777c94b Notes: Add TODO 2019-09-02 05:49:03 -05:00
Adam Porter
b9badc3e34 Notes: Add 2019-09-02 05:22:11 -05:00
Adam Porter
6a6272ef96 Notes: Add 2019-09-01 08:21:40 -05:00
Adam Porter
0adc23d34d Release: 0.2 2019-08-31 23:49:26 -05:00
Akira Komamura
3a5e4a1e11 Fix: Add autoloads
Fixes #36.  Thanks to Akira Komamura (@akirak).
2019-08-31 23:43:49 -05:00
Adam Porter
42947aa2df Comment: Update to-dos 2019-08-31 23:36:19 -05:00
Adam Porter
a34d5f77bd Change/Tidy: (-agenda--format-element) Remove no-marker warning
And update to-dos.
2019-08-31 23:33:11 -05:00
Adam Porter
ad9de23987 Comment: Update some to-dos 2019-08-31 23:28:12 -05:00
Adam Porter
932960c686 Add: Save position when refreshing search buffers 2019-08-31 23:24:36 -05:00
Adam Porter
dbd385c664 Comment: Remove old TODO 2019-08-31 23:24:36 -05:00
Adam Porter
693f52edef Notes: Add to idea 2019-08-31 23:24:36 -05:00
Adam Porter
df1209dbab Notes: Add idea 2019-08-31 23:24:36 -05:00
Adam Porter
65125a695f Change: (org-ql-agenda--agenda) Also accept strings
This allows the strings to be provided from another function, enabling
features such as a "timeline" view (coming soon...).
2019-08-31 23:24:36 -05:00
Adam Porter
077b7000cf Change: (org-ql-view-recent-items) Use keyword args, etc.
A bit more flexible this way.  Also adjust the default groups to be
less specific to my own config.
2019-08-31 23:24:36 -05:00
Adam Porter
bf14afdf4d Add: (org-ql-views) Agenda-like and Review views 2019-08-31 23:24:36 -05:00
Adam Porter
e4c063e8db Notes: Add 2019-08-31 23:24:36 -05:00
Adam Porter
b49f65cfac Notes: Add 2019-08-31 23:24:36 -05:00
Adam Porter
8d57a69125 Change/Fix: (--select-cached) Query-cache key and narrowing
1.  It seems that caching was broken in
3adaf4e5fc, because I changed what key
was used to retrieve from the cache but not the key that was used to
store in the cache.  I guess I hadn't noticed the performance
difference.  It should be fixed now.

2.  While making this fix, the test suite caught a bug in the new,
almost-fixed version that was caused by not including the preamble in
the key, and it only did so because the tests ran sequentially in the
same Emacs, making use of caching.  If each test were independent and
ran with a clean cache, it wouldn't have caught the bug, and it would
undoubtedly have been quite a head-scratcher, or even a hair-puller,
at some future time.

3.  And I would have pushed a version including that bug if I didn't
have a git pre-push hook that runs the tests, because somehow I missed
running the tests on that particular change.

So, lessons reinforced: tests are good; automated tests are better;
enforced tests are best.

4.  Narrowed queries are now cached using point-min/max in the buffer.
This will be especially helpful for the WIP recursive queries feature.
I do wonder if the overhead of caching might be a drawback in some
cases, however some simple benchmarks of recursive queries that return
about 2,000 results shows a large improvement from caching, reducing
runtime from 3.12 to 0.24 seconds, so it's probably worth it, overall.
2019-08-31 23:24:36 -05:00
Adam Porter
802bc462d6 Change: (children, descendants) Return after finding one match
A simple optimization that can be significant in large subtrees.
2019-08-30 09:32:03 -05:00
Adam Porter
e839397579 Fix: Planning-related predicates searched too far into entries
Planning-line-related predicates searched entire entries, which could
find lines that looked like planning lines but were not.  For example, in an
entry talking about tiny.el, in a source code block, in Elisp comments
that had text resembling an Org planning line, that text would be
found by the regexp search, and the predicate would then attempt to
parse the match, which could fail.

Now the regexp search for planning-line-related predicates is bound by
the end of the line after the heading, which is the only place that
actual Org planning lines are supposed to be.
2019-08-30 05:29:05 -05:00