The corfu
module sets completion-styles
to (orderless basic)
, and the vertico
module overrides completion-category-overrides
entirely instead of using setf
.
I’m going to argue that this is bad, and we should do this instead:
For completion-category-overrides
, I think it’s reasonable to modify relevant entries in that alist when enabling something like vertico
. But overriding it completely is just a bug.
For completion-styles
, we should set it to something reasonable given whatever stuff is enabled in init.el
, but we make sure to set it before the user config is executed. This would make my bare top-level (setq completion-styles ...)
work as intended.
I’m also going to argue that “something reasonable” is (flex)
if that’s available, but you don’t have to agree with me on that.