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!

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:

1 Like