Eglot uses fennel-mode to determine the range of the text being completed. Essentially this means that fennel-ls and fennel-mode must agree on the defininiton of a sym. This is a problem, because fennel-mode correctly treats the full multisym as one sym, whereas fennel-ls assumes the last part of the multisym is the only part being completed.
It is my understanding that ~technomancy is changing fennel-mode to match how fennel-ls sees the world.
This is live on fennel-mode main now: https://git.sr.ht/~technomancy/fennel-mode/commit/0997a3853e56bfcd29167687f8ababcf8fd89c36
Okay so changes have happened! I'm not sure of the status of fennel-mode, but we no longer need changes to fennel-mode. When fennel-ls sees a client named "Eglot", it provides full multisyms in the completions. Every other client gets normal behavior.
I ended up reverting the fennel-mode changes earlier anyway because they broke indentation. Happy to see this land! I've just confirmed it works with eglot on the latest main.