"The history of #Emacs completion frameworks is a progression from monolithic solutions toward composable ones."
-
@minad @jameshowell @oantolin Wow, hello Daniel and Omar, so wonderful to run into you on here. Much respect for your contributions to making emacs usable for forever-noobs like me!
I think last time I used cape I couldn't understand how cape-dabbrev is different from dabbrev (I understand now...). I will give it a go too!
I am especially struggling with my python vterm REPL though. I see a wall-of-text dump of all the candidates from the code as well as the REPL buffer! Any pointers?
-
@kickingvegas I thought IMEs were mechanisms to type single characters and that most of them do not involve incremental completion and filtering!
EDIT: Your Wikipedia link agrees with my recollection. @jameshowell @minad
@oantolin @kickingvegas @jameshowell @minad Nah, not just character by character. Japanese IME for example you typically type in a whole sentence phonetically (and see the kana and first choice kanji appear as you go - sometimes that charges as you type in more giving it more context), then manually fix up any wrong inferences (eg left/right cursors to jump to position in sentence, then up/down or space/shift-space to cycle suggestions for that fragment). Then enter to finalise that sentence.
-
"The history of #Emacs completion frameworks is a progression from monolithic solutions toward composable ones."
This is a comprehensive summary, with a thorough and fair history. A long read, but worth it.
I plateaued at #Vertico #Orderless #Marginalia #Consult years ago. Maybe time to learn the others, one at a time.
@jameshowell Composability, where each module does one thing well and has a clean interface to the others, is a worthy goal. But from the user perspective, completion _is_ one thing, so why should we need to coordinate and configure seven or eight packages to get it working?
Yes, as the article says, there are many _potentially_ orthogonal concerns in completion, but when you separate them into different user packages, you've pushed too much of the complexity of their interaction onto the user.
The solution, apparently, is to add another layer of abstraction: emacs configuration kits. It all seems a bit much.
-
R relay@relay.infosec.exchange shared this topic