aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjtsiros <jon@brightblock.ai>2024-09-05 14:22:47 -0500
committerGitHub <noreply@github.com>2024-09-05 14:22:47 -0500
commit061aedf9b88176d2257631cff1be86bbeeb3370d (patch)
tree2fbc7870f4bf59e6dd2e4fddc31b52b3455ca9a0
parent7c4f71d60fa71d608fc2d355e8ac9f92cdc797f0 (diff)
update emacs config
updating the emacs config to work with doom emacs. The way the config is currently defined, it could possibly show an error: (void-variable lsp-language-id-configuration) due to this running before lsp-mode is loaded.
-rw-r--r--README.md24
1 files changed, 16 insertions, 8 deletions
diff --git a/README.md b/README.md
index 5b0bc3d..0466199 100644
--- a/README.md
+++ b/README.md
@@ -214,14 +214,22 @@ lspconfig.ols.setup({})
### Emacs
```elisp
-;; 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")))
-(lsp-register-client
- (make-lsp-client :new-connection (lsp-stdio-connection "/path/to/ols/executable")
- :major-modes '(odin-mode)
- :server-id 'ols
- :multi-root t)) ;; This is just so lsp-mode sends the "workspaceFolders" param to the server.
+;; 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 "/path/to/ols/executable") ;; Adjust the path here
+ :major-modes '(odin-mode)
+ :server-id 'ols
+ :multi-root t))) ;; Ensures lsp-mode sends "workspaceFolders" to the server
+
(add-hook 'odin-mode-hook #'lsp)
```