odin-mode
odin-mode copied to clipboard
How to add odin-mode with ols server lsp of Odin to EMACS with elpaca package manager in Linux.
Hello,
I would like to say here what I did in Linux (with the help of "the weak") to make this work with the elpaca package manager:
I hope that this will help others.
1º Download the OLS to the designated directory and compile it. 2º Download the odin-mode and copy to the designated directory.
3º Then in the init.el add the following:
(add-to-list 'load-path "/home/joaocarvalho/.config/emacs/elpaca/repos/odin-mode")
(add-to-list 'load-path "/home/joaocarvalho/odin/ols")
(require 'odin-mode)
; Odin
;; With odin-mode (https://github.com/mattt-b/odin-mode) and lsp-mode already added to your init.el of course!.
(setq-default lsp-auto-guess-root t) ;; if you work with Projectile/project.el this will help find the ols.json file.
(defvar lsp-language-id-configuration '((odin-mode . "odin")))
(use-package lsp-mode
:hook ((python-mode . lsp)
(javascript-mode . lsp)
(odin-mode . lsp))
:commands lsp
:config
(lsp-register-client
(make-lsp-client :new-connection (lsp-stdio-connection "/home/joaocarvalho/odin/ols/ols")
:major-modes '(odin-mode)
:server-id 'ols
:multi-root t)) ;; This is just so lsp-mode sends the "workspaceFolders" param to the server.
; (setq lsp-prefer-flymake nil)) ; Or lsp-prefer-capf if you prefer LSP's completion over company-mode
)
(use-package lsp-ui)
Best regards,