From d8da8db0c4f299da94833a060d8c58e2b1d4eec4 Mon Sep 17 00:00:00 2001 From: Micheal Smith Date: Tue, 24 Feb 2026 19:50:30 -0600 Subject: [PATCH] Added expert support for elixir. --- README.org | 87 ++++++++++++++++++++++++++++++++++++++---- config/major_modes.org | 14 ++++--- 2 files changed, 89 insertions(+), 12 deletions(-) diff --git a/README.org b/README.org index 1e27e72..45cb233 100644 --- a/README.org +++ b/README.org @@ -841,13 +841,83 @@ _l_ → _c_ lose (global-set-key (kbd "C-c t") 'hydra-tab/body) #+end_src +** Windows + +Quite a helpful window hydra. I cannot take credit for this. I copied it +from somewhere. When I find the link I'll add it here. + +#+name: window-hydra +#+begin_src emacs-lisp :tangle no + (defhydra hydra-window (:color red :hint nil) + " +Movement^^ ^Split^ ^Switch^ ^Resize^ +---------------------------------------------------------------- +_h_ ← _v_ertical _b_uffer _q_ X← +_j_ ↓ _x_ horizontal _f_ind files _w_ X↓ +_k_ ↑ _z_ undo _a_ce 1 _e_ X↑ +_l_ → _Z_ reset _s_wap _r_ X→ +_F_ollow _D_lt Other _S_ave max_i_mize +_SPC_ cancel _o_nly this _d_elete +" + ("h" windmove-left ) + ("j" windmove-down ) + ("k" windmove-up ) + ("l" windmove-right ) + ("q" hydra-move-splitter-left) + ("w" hydra-move-splitter-down) + ("e" hydra-move-splitter-up) + ("r" hydra-move-splitter-right) + ("b" consult-buffer) + ("f" consult-fd) + ("F" follow-mode) + ("a" (lambda () + (interactive) + (ace-window 1) + (add-hook 'ace-window-end-once-hook + 'hydra-window/body)) + ) + ("v" (lambda () + (interactive) + (split-window-right) + (windmove-right)) + ) + ("x" (lambda () + (interactive) + (split-window-below) + (windmove-down)) + ) + ("s" (lambda () + (interactive) + (ace-window 4) + (add-hook 'ace-window-end-once-hook + 'hydra-window/body))) + ("S" save-buffer) + ("d" delete-window) + ("D" (lambda () + (interactive) + (ace-window 16) + (add-hook 'ace-window-end-once-hook + 'hydra-window/body)) + ) + ("o" delete-other-windows) + ("i" ace-maximize-window) + ("z" (progn + (winner-undo) + (setq this-command 'winner-undo)) + ) + ("Z" winner-redo) + ("SPC" nil)) + (global-set-key (kbd "C-c w") 'hydra-window/body) +#+end_src + ** Pulling it all together #+begin_src emacs-lisp (use-package hydra :demand t :config - <>) + <> + <>) #+end_src # #+INCLUDE: "config/bufferlo.org" :minlevel 1 @@ -1512,7 +1582,7 @@ repositories in general... I'm using [[https://github.com/armindarvish/consult-g :ensure (:host github :repo "armindarvish/consult-gh") :after consult :config - (require 'consult-gh-transient) + (require 'consult-gh-transient)) #+END_SRC The package offers embark, and magit-forge support. As I use both of @@ -1654,16 +1724,19 @@ bother with an explanation on each. :ensure t :defer t) +(use-package elixir-ts-mode + :defer t + :custom + (lsp-elixir-server-command '("expert_darwin_amd64" "--stdio"))) + +(use-package heex-ts-mode + :mode ("\\.heex\\'" . heex-ts-mode)) + ;; Meson (use-package meson-mode :demand t :mode "\\.build\\'") -;; Crystal -(use-package crystal-mode - :ensure t - :mode "\\.cr\\'") - ;; rust-mode (use-package rust-mode :ensure t diff --git a/config/major_modes.org b/config/major_modes.org index 682198c..be99e9d 100644 --- a/config/major_modes.org +++ b/config/major_modes.org @@ -52,16 +52,20 @@ bother with an explanation on each. :ensure t :defer t) +(use-package elixir-ts-mode + :ensure t + :defer t + :custom + (lsp-elixir-server-command '("expert_darwin_arm64" "--stdio"))) + +(use-package heex-ts-mode + :mode ("\\.heex\\'" . heex-ts-mode)) + ;; Meson (use-package meson-mode :demand t :mode "\\.build\\'") -;; Crystal -(use-package crystal-mode - :ensure t - :mode "\\.cr\\'") - ;; rust-mode (use-package rust-mode :ensure t