There is a new LSP server for elixir: [lexical].
Although it said there had problems to use it with eglot, but I didn't
meet the [problem] it said in the instruction.
And I had used it for serveral projects and it worked fine, I put this
in my config and I don't know if there is a better way:
```emacs-lisp
(with-eval-after-load 'eglot
(setf (alist-get '(elixir-mode elixir-ts-mode heex-ts-mode)
eglot-server-programs
nil nil #'equal)
(eglot-alternatives
`(("start_lexical.sh")
,(if (and (fboundp 'w32-shell-dos-semantics)
(w32-shell-dos-semantics))
'("language_server.bat")
'("language_server.sh"))))))
```
So I send a patch like this.