diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2025-11-15 13:41:27 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2025-11-15 13:41:27 -0300 |
| commit | 347cc762dd617ab21acf03765d0f1e6322719103 (patch) | |
| tree | 8252b61af5af3b22532328f5cc1c7b388156c786 /configuration.el | |
| parent | adaeff1b08a791fce6abaff0695dd819917cae62 (diff) | |
| download | MageMacs-347cc762dd617ab21acf03765d0f1e6322719103.tar.gz MageMacs-347cc762dd617ab21acf03765d0f1e6322719103.zip | |
erlang utilities
Diffstat (limited to '')
| -rw-r--r-- | configuration.el | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/configuration.el b/configuration.el index 7133dac..e9cf821 100644 --- a/configuration.el +++ b/configuration.el @@ -212,8 +212,29 @@ :straight t :hook (erlang-mode . lsp-deferred) - (erlang-mode . yas-minor-mode)) - + (erlang-mode . yas-minor-mode) + (erlang-mode . erlang-set-project-root) + :config + (lsp-register-client + (make-lsp-client :new-connection (lsp-stdio-connection '("elp" "server")) + :major-modes '(erlang-mode) + :priority 0 + :server-id 'erlang-language-platform)) + (setq inferior-erlang-machine "rebar3") + (setq inferior-erlang-machine-options '("shell")) + (setq inferior-erlang-shell-type nil) + (defun erlang-set-project-root () + "Set `default-directory` to the parent dir containing `rebar.config` or `rebar.config.script`, if found." + (when (derived-mode-p 'erlang-mode) + (let* ((start (or (buffer-file-name) default-directory)) + (proj-root + (locate-dominating-file + start + (lambda (dir) + (or (file-exists-p (expand-file-name "rebar.config" dir)) + (file-exists-p (expand-file-name "rebar.config.script" dir))))))) + (when proj-root + (setq-local default-directory proj-root)))))) ;; (use-package eglot ;; :straight t |
