ashrafhasson

ashrafhasson

Spacemacs lsp / elixir-mode not kick starting elixir-ls```

Hello all,

I’ve had my spacemacs configured a while back following some of the details here to use elixir-ls and it was working fine until I made a change, of course, and now the elixir-ls server wouldn’t start automatically when I open an elixir file, although it starts if I run lsp. I thought with the config I have below, when elixir-mode is enabled, I should see a connection to the elixir-ls in the minibuffer but that’s not happening unless I run lsp manually and then in every new file I open I’d have to again run lsp to connect to that same elixir-ls. Any suggestion how to fix this or help with debugging what actually is wrong here please?

(defun dotspacemacs/user-config ()
  ;; Enable folding
  ;(setq lsp-enable-folding t)

  ;; Add origami and LSP integration
  (lsp-origami-try-enable)
  (add-hook 'lsp-after-open-hook #'lsp-origami-try-enable)

  (use-package elixir-mode
  :ensure t
  :bind (:map elixir-mode-map
	      ("C-c C-F" . elixir-format)
	      ("C-c C-t" . my/mix-run-test-at-point)
	      ("C-c C-f" . my/mix-run-test-file)))

  (global-auto-complete-mode)

  (setq elixir :variables elixir-backend 'lsp)
  (use-package lsp-mode
    :commands lsp
    :ensure t
    :diminish lsp-mode
    :hook
    (elixir-mode . lsp)
    :init
    (add-to-list 'exec-path "~/elixir-ls/release"))
  (use-package lsp-ui
    :ensure t
    :defer 5
    :after lsp-mode
    :config
    ;(setq lsp-ui-doc-enable t)
    ;(setq lsp-ui-doc-show nil)
    (setq lsp-ui-doc-delay 5000)
    :bind
    (("C-c C-l s" . 'lsp-ui-doc-show))
    (("C-c C-l h" . 'lsp-ui-doc-hide))
    (("C-c C-l g" . 'lsp-ui-doc-glance))
    (("C-c C-l f" . 'lsp-ui-doc-focus-frame))
    (("C-c C-l u" . 'lsp-ui-doc-unfocus-frame))
    )
  (defvar lsp-elixir--config-options (make-hash-table))
  (add-hook 'lsp-after-initialize-hook
            (lambda ()
              (lsp--set-configuration `(:elixirLS, lsp-elixir--config-options))))
  )
)

Upon starting spacemacs, the *lsp-log* shows only the following:

This server does not support foldingRangeProvider

Thanks in advance!

Marked As Solved

ashrafhasson

ashrafhasson

Okay, so testing my dotspacemacs config shows lsp failure but nothing more is found either in Messages or lsp-log, however, I found that the config eval stopped at (global-auto-complete-mode) which I had disabled earlier …

* Testing settings in dotspacemacs/layers [[file:~/.spacemacs::dotspacemacs/layers][Show in File]]
** TEST: Each path in [[file:~/.spacemacs::dotspacemacs-configuration-layer-path][dotspacemacs-configuration-layer-path]] is a string
** TEST: Each path in [[file:~/.spacemacs::dotspacemacs-configuration-layer-path][dotspacemacs-configuration-layer-path]] exists in filesystem
** TEST: Each layer in [[file:~/.spacemacs::dotspacemacs-configuration-layers][dotspacemacs-configuration-layers]] can be found
*** FAIL: lsp
*** PASS: shell-scripts
...

spacemacs *Messages* shows:

(Spacemacs) Error in dotspacemacs/user-config: Symbol’s function definition is void: global-auto-complete-mode

totally my bad! and lesson learned :joy:

Where Next?

Popular in Questions Top

aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
Kurisu
For example for a current url like http://localhost:4000/cosmetic/products?_utf8=✓&query=perfume&page=2, I would like to get: ...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
tduccuong
Hi, is there any work on GUI with Elixir, that is similar to Electron/Javascript? My idea is to bundle Phoenix and BEAM into a single se...
New
myronmarston
The Elixir Typespec docs show the following syntax for keyword lists in typespecs: # ... | [key: type] # keyword lists...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? Ecto.Repo — Ecto v3.14.0 has exampl...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New

Other popular topics Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New
marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New

Latest on Elixir Forum

We're in Beta

About us Mission Statement