Open joaocarvalhoopen opened 11 months ago
I'm using doom emacs bdw.
;; Odin LSP
(setq-default lsp-auto-guess-root t)
(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
(make-lsp-client :new-connection (lsp-stdio-connection "ols")
:major-modes '(odin-mode)
:server-id 'ols
:multi-root t))
It didn't work for me.
@a3ru if you didn't get this to work already you need to do the following
in your packages.el you need to put the following
(package! odin-mode
:recipe (:host github :repo "mattt-b/odin-mode"))
run a doom sync command
then in your config.el put this somewhere, probably at the bottom
;; Enable odin-mode and configure OLS as the language server
(use-package! odin-mode
:mode ("\\.odin\\'" . odin-mode)
:hook (odin-mode . lsp))
;; Set up OLS as the language server for Odin, ensuring lsp-mode is loaded first
(with-eval-after-load 'lsp-mode
(setq-default lsp-auto-guess-root t) ;; Helps find the ols.json file with Projectile or project.el
(setq lsp-language-id-configuration (cons '(odin-mode . "odin") lsp-language-id-configuration))
(lsp-register-client
(make-lsp-client :new-connection (lsp-stdio-connection "ols OR path_to_ols_binary")
:major-modes '(odin-mode)
:server-id 'ols
:multi-root t))) ;; Ensures lsp-mode sends "workspaceFolders" to the server
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:
Best regards,