When you type @ or / a new completion buffer appears. Is there a way to make it work the same as the rest of Emacs? I would like it to work the same as C-x b or any other place when Emacs asks for input. I can press TAB to get into the completion buffer or use C-s to search inside the list.
Opening a completion buffer is not default behavior. It looks like you can only disable it completely and need to type everything by hand without any hints.
The problem is that every completion library works globally, and it breaks the default behavior that I'm used to.
I was asking the agent (Opus 4.6), and he wrote code like this:
(setq-local completion-in-region-function
(lambda (start end collection &optional predicate)
(if (minibufferp)
(completion--in-region start end collection predicate)
(let* ((initial (buffer-substring-no-properties start end))
(all (all-completions initial collection predicate))
(choice (ido-completing-read "Complete: " all nil nil initial)))
(when choice
(delete-region start end)
(insert choice " "))))))
But it doesn't work the same as C-x b. The completion list is empty, so I can't search (C-s) and press TAB to see the full list.
Checklist
When you type @ or / a new completion buffer appears. Is there a way to make it work the same as the rest of Emacs? I would like it to work the same as C-x b or any other place when Emacs asks for input. I can press TAB to get into the completion buffer or use C-s to search inside the list.
Opening a completion buffer is not default behavior. It looks like you can only disable it completely and need to type everything by hand without any hints.
The problem is that every completion library works globally, and it breaks the default behavior that I'm used to.
I was asking the agent (Opus 4.6), and he wrote code like this:
(setq-local completion-in-region-function (lambda (start end collection &optional predicate) (if (minibufferp) (completion--in-region start end collection predicate) (let* ((initial (buffer-substring-no-properties start end)) (all (all-completions initial collection predicate)) (choice (ido-completing-read "Complete: " all nil nil initial))) (when choice (delete-region start end) (insert choice " "))))))But it doesn't work the same as C-x b. The completion list is empty, so I can't search (C-s) and press TAB to see the full list.
Checklist