elixir: refactor
- Moved backend determination to `config.el` - Replaced unnecessary backquote construct with simple quotation - Replaced `pcase` form with only one-arm with `when` or `unless` form - Removed unnecessary `progn`
This commit is contained in:
parent
43c4fa8772
commit
9b6ffd7c22
|
@ -23,7 +23,7 @@
|
|||
|
||||
;; Variables
|
||||
|
||||
(defvar elixir-backend nil
|
||||
(defvar elixir-backend (if (configuration-layer/layer-used-p 'lsp) 'lsp 'alchemist)
|
||||
"The backend to use for IDE features.
|
||||
Possible values are `alchemist' and `lsp'.
|
||||
If `nil' then `alchemist' is the default backend unless `lsp' layer is used.")
|
||||
|
|
|
@ -21,30 +21,20 @@
|
|||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
(defun spacemacs//elixir-backend ()
|
||||
"Returns selected backend."
|
||||
(if elixir-backend
|
||||
elixir-backend
|
||||
(cond
|
||||
((configuration-layer/layer-used-p 'lsp) 'lsp)
|
||||
(t 'alchemist))))
|
||||
|
||||
(defun spacemacs//elixir-setup-backend ()
|
||||
"Conditionally setup elixir backend."
|
||||
(pcase (spacemacs//elixir-backend)
|
||||
(`alchemist (spacemacs//elixir-setup-alchemist))
|
||||
(`lsp (spacemacs//elixir-setup-lsp))))
|
||||
(pcase elixir-backend
|
||||
('alchemist (spacemacs//elixir-setup-alchemist))
|
||||
('lsp (spacemacs//elixir-setup-lsp))))
|
||||
|
||||
(defun spacemacs//elixir-setup-company ()
|
||||
"Conditionally setup company based on backend."
|
||||
(pcase (spacemacs//elixir-backend)
|
||||
(`alchemist (spacemacs//elixir-setup-alchemist-company))))
|
||||
(when (eq elixir-backend 'alchemist) (spacemacs//elixir-setup-alchemist-company)))
|
||||
|
||||
(defun spacemacs//elixir-setup-dap ()
|
||||
"Conditionally setup elixir DAP integration."
|
||||
;; currently DAP is only available using LSP
|
||||
(pcase (spacemacs//elixir-backend)
|
||||
(`lsp (spacemacs//elixir-setup-lsp-dap))))
|
||||
(when (eq elixir-backend 'lsp) (spacemacs//elixir-setup-lsp-dap)))
|
||||
|
||||
|
||||
;;alchemist
|
||||
|
@ -54,11 +44,10 @@
|
|||
|
||||
(defun spacemacs//elixir-setup-alchemist-company ()
|
||||
(when (configuration-layer/package-used-p 'alchemist)
|
||||
(progn
|
||||
(spacemacs|add-company-backends
|
||||
:backends alchemist-company
|
||||
:modes elixir-mode alchemist-iex-mode)
|
||||
(company-mode))))
|
||||
(spacemacs|add-company-backends
|
||||
:backends alchemist-company
|
||||
:modes elixir-mode alchemist-iex-mode)
|
||||
(company-mode)))
|
||||
|
||||
|
||||
;;lsp
|
||||
|
|
|
@ -163,8 +163,7 @@
|
|||
(spacemacs/counsel-gtags-define-keys-for-mode 'elixir-mode))
|
||||
|
||||
(defun elixir/pre-init-dap-mode ()
|
||||
(pcase (spacemacs//elixir-backend)
|
||||
(`lsp (add-to-list 'spacemacs--dap-supported-modes 'elixir-mode)))
|
||||
(when (eq elixir-backend 'lsp) (add-to-list 'spacemacs--dap-supported-modes 'elixir-mode))
|
||||
(add-hook 'elixir-mode-local-vars-hook #'spacemacs//elixir-setup-dap))
|
||||
|
||||
(defun elixir/post-init-evil-matchit ()
|
||||
|
|
Loading…
Reference in a new issue