odin-mode icon indicating copy to clipboard operation
odin-mode copied to clipboard

How to add odin-mode with ols server lsp of Odin to EMACS with elpaca package manager in Linux.

Open joaocarvalhoopen opened this issue 1 year ago • 1 comments

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,

joaocarvalhoopen avatar Dec 09 '23 16:12 joaocarvalhoopen