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?

  • minad-emacs@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    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.

    Yes, exactly.

    This is also necessary if you want other features such as actions…

    No this is not necessary. Embark supports actions for commands based on completing-read.