Ivy (+swiper +counsel) is very cool and I use it constantly for an ever growing number of tasks. But there are some cases in which the requirements of a certain completion task defeats Ivy's logic. One of those is Org tags search, more precisely, org-tags-view
which is commonly bound to C-c a m
. And this command conflicts with Ivy's logic both because it requires (typically) multiple candidates, and is supposed to output a single string out of them, connected by plus or minus signs. So a typical case would be "+tag1+tag2-tag3".
The default completion works better in this case, and while using Ivy, I'd like to tell it to use default completion in this particular function. Theoretically, there is already a defcustom
meant for this task: ivy-completing-read-handlers-alist
. But I cannot get it to work with org-tags-view
.
I've tried:
(add-to-list 'ivy-completing-read-handlers-alist
'(org-tags-view . completing-read-default))
But also, as org-tags-view
calls org-make-tags-matcher
internally:
(add-to-list 'ivy-completing-read-handlers-alist
'(org-make-tags-matcher . completing-read-default))
Neither inhibited Ivy completion from kicking in. Does anyone know what I may be missing? Or how to get this to work?