These past few days, I’ve tried switching from Neovim to Helix, and so far the experience has been great. Compared to neovim, which requires multiple plugins and configurations, Helix requires very little configuration to start using it for Elixir. Plus, it has a great shortcut key prompts, so if you’ve used vim before, you can quickly get used to it.
In addition to its out-of-the-box features, one of my favorite features of Helix is its multi-selection editing!
Ensure that elixir-ls is installed and in your path. On macOS, you can use brew install elixir-ls.
Put the following configuration in .config/helix/languages.toml, and happy coding!
It is possible because their syntax highlighting uses tree-sitter.
Furthermore, I suggest updating the Elixir configuration to support specific features of the language server in heex. Additionally, I discovered that my understanding of the “injection-regex” configuration item was incorrect, and we may not require it.
Based on current usage, LSP can function normally with Umbrella projects.
I conducted a test using an Umbrella app named “hello” with a subproject at “hello/apps/world”. Only “hello/apps/world/.elixir_ls” was generated, and it seems that “hello/.elixir_ls” was not generated.
I guess that elixir-ls has implemented support for Umbrella projects, even though “mix.exs” exists in the directory.
to my languages.toml file but helix did not seem to find it.
helix did not seem to read languages.toml but hx --health elixir still confirms elixir-ls is configured.
Luke Pighetti on youtube https://www.youtube.com/@LukePighetti/videos uses a ~/.config/helix/config.toml file for helix configuration… I added the [[language]] block to config.toml but helix still did not like that…
❯ hx --health elixir
Configured language server: elixir-ls
Binary for language server: /opt/homebrew/bin/elixir-ls
Configured debug adapter: None
Highlight queries: ✓
Textobject queries: ✓
Indent queries: ✓
but I still dont get helix showing acces to elixir docs when I press space k while on an elixir function.