I hope every completion done inside minibuffer is repeatable by vertico-repeat
, including commands invoked by M-x
. Vertico, however, didn’t include execute-extended-command
as a repeatable session by default. You can be seen it by examining vertico-repeat-filter
variable. So I have to customize it like this in Doom Emacs:
(after! vertico-repeat
(setq vertico-repeat-filter (remove 'execute-extended-command vertico-repeat-filter)))
The question is execute-extended-command
seems to be a reasonable default completing session, why does vertico
excludes it?
One should also mention the relatively new
vertico-suspend
command. It takes a different approach via recursive minibuffers, but has its own limitations.No, see my other answer.
Ivy and Helm do not support repeating arbitrary completion sessions in full generality - because it is hardly possible. Only the state of commands which go through the ivy-read or helm API can be fully reconstructed.
They do for commands that are defined with the ivy and helm framework. The downside of course is that everything has to be rewritten using their frameworks in order to have first class support. This is also necessary if you want other features such as actions and is one of the biggest disadvantages of using them.
Yes, exactly.
No this is not necessary. Embark supports actions for commands based on
completing-read
.