From 79552343083a67149fc6de37b6663dd83965b0e3 Mon Sep 17 00:00:00 2001 From: Steven vanZyl Date: Tue, 4 May 2021 18:15:42 -0400 Subject: [PATCH 1/2] Improve Elixir module keymaps Added more major-mode keymappings to expose more of the functionality of Alchemist.el to the user and generally make the Elixir mode a lot more useful feeling. --- modules/lang/elixir/config.el | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/modules/lang/elixir/config.el b/modules/lang/elixir/config.el index 98745c859..d976a4439 100644 --- a/modules/lang/elixir/config.el +++ b/modules/lang/elixir/config.el @@ -37,7 +37,8 @@ (sp-local-pair "fn " " end" :unless '(sp-in-comment-p sp-in-string-p))) (when (featurep! +lsp) - (add-hook 'elixir-mode-local-vars-hook #'lsp!)) + (add-hook 'elixir-mode-local-vars-hook #'lsp!) + (add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\_build\\'")) (after! highlight-numbers (puthash 'elixir-mode @@ -58,7 +59,19 @@ :definition #'alchemist-goto-definition-at-point :documentation #'alchemist-help-search-at-point) (set-eval-handler! 'alchemist-mode #'alchemist-eval-region) - (set-repl-handler! 'alchemist-mode #'alchemist-iex-project-run)) + (set-repl-handler! 'alchemist-mode #'alchemist-iex-project-run) + (map! :after elixir-mode + :localleader + :map elixir-mode-map + "m" #'alchemist-mix + "c" #'alchemist-mix-compile + "i" #'alchemist-iex-project-run + "f" #'elixir-format + (:prefix ("e" . "eval") + "e" #'alchemist-iex-send-last-sexp + "r" #'alchemist-iex-send-region + "l" #'alchemist-iex-send-current-line + "R" #'alchemist-iex-reload-module))) (use-package! alchemist-company @@ -78,7 +91,7 @@ (map! :after elixir-mode :localleader :map elixir-mode-map - :prefix "t" + :prefix ("t" . "test") "a" #'exunit-verify-all "r" #'exunit-rerun "v" #'exunit-verify From 1197d640f1062734c1d928c3a906cd1d6246ca86 Mon Sep 17 00:00:00 2001 From: Steven vanZyl Date: Wed, 5 May 2021 12:33:33 -0400 Subject: [PATCH 2/2] Defer adding to LSP ignore list It was attempting to add to the LSP list too early and erroring, this adds an after! call to make it wait --- modules/lang/elixir/config.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/lang/elixir/config.el b/modules/lang/elixir/config.el index d976a4439..a727d1653 100644 --- a/modules/lang/elixir/config.el +++ b/modules/lang/elixir/config.el @@ -38,7 +38,8 @@ (when (featurep! +lsp) (add-hook 'elixir-mode-local-vars-hook #'lsp!) - (add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\_build\\'")) + (after! lsp-mode + (add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\_build\\'"))) (after! highlight-numbers (puthash 'elixir-mode