How do you start emacs? From a terminal (then it should inherit your PATH), the GUI or via a systemservice and emacsclient?
If you use one of the latter two versions, please try to start emacs via terminal and check if the problem exists there as well. If it works then, stick to that method of starting or provide the PATH in a way that it works for your means of starting.
Not sure how you provide additional PATHes to macOS GUI or system services though…
after finding this issue I try reinstall emacs itself by follow the guide on spacemacs page (install with brew install emacs-plus) and setup spacemacs again
it’s now working!!
thanks all and sorry for spamming
Hi @axelson. Is it possible to configure lsp-mode (e.g., to point it to Elixir sources) so go-to-definition would work for core Erlang/Elixir modules? As it says in README:
You may want to install Elixir and Erlang from source, using the kiex and kerl tools. This will let you go-to-definition for core Elixir and Erlang modules.
I use Nix to build Elixir and Erlang from source, but I still can’t jump to core Elixir modules (though jumping to project’s code and dependencies work).
Personally I just refactor mostly manually. If I’m renaming a function I’ll use multi cursor mode to select all the references to that function in the current file and then rename them all at once (if it’s a public function I might use projectile-replace).
I was updating my environment to use the latest versions of things and I hit a problem with elixir-ls. I figured out a quick fix so just posting here in case someone has the same problem. I’m using Ubuntu 18.04.
After updating elixir-ls and running $ mix elixir_ls.release I tried to connect from Emacs. But it didn’t work and I noticed this message in the elixir-ls::stderr buffer…
/opt/elixir-ls/release/language_server.sh: 8: /home/my_home/.asdf/asdf.sh: Bad substitution
/bin/sh is linked to dash which is the default for sh in Ubuntu
The problem seems to come from the second part of that line where asdf.sh is sourced although using a dot here seems to be POSIX compliant. So I don’t think there is anything wrong with that line per se.
running sh ~/.asdf/asdf.sh gives a similar error to the one I observed earlier /home/my_home/.asdf/asdf.sh: 8: /home/my_home/.asdf/asdf.sh: Bad substitution
So even though the asdf.sh has #!/usr/bin/env bash at the top it seems to be ignored because it is called via sh
I’m just getting back into Elixir dev and setting up Spacemacs again. I got round this by filtering out several folders by adding the following to dotspacemacs/user-config()
Not sure if there’s a more compact way of doing that but it seems to be working!
Thanks to everyone who’s been updating the configuration information and working on the plugin and layers. Works really well and nice to be in Emacs rather than VS Code so far.
I’ve also added
(push '("*exunit-compilation*" :dedicated t :position bottom :stick t :height 0.4) popwin:special-display-config)
Which makes the exunit test output always appear at the bottom in Spacemacs and close automatically with C-g