Added expert support for elixir.

This commit is contained in:
Micheal Smith 2026-02-24 19:50:30 -06:00
parent d7ffe1230b
commit d8da8db0c4
Signed by: xulfer
GPG key ID: E40750BFE6702504
2 changed files with 89 additions and 12 deletions

View file

@ -841,13 +841,83 @@ _l_ → _c_ lose
(global-set-key (kbd "C-c t") 'hydra-tab/body) (global-set-key (kbd "C-c t") 'hydra-tab/body)
#+end_src #+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 ** Pulling it all together
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package hydra (use-package hydra
:demand t :demand t
:config :config
<<tab-hydra>>) <<tab-hydra>>
<<window-hydra>>)
#+end_src #+end_src
# #+INCLUDE: "config/bufferlo.org" :minlevel 1 # #+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") :ensure (:host github :repo "armindarvish/consult-gh")
:after consult :after consult
:config :config
(require 'consult-gh-transient) (require 'consult-gh-transient))
#+END_SRC #+END_SRC
The package offers embark, and magit-forge support. As I use both of 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 :ensure t
:defer 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 ;; Meson
(use-package meson-mode (use-package meson-mode
:demand t :demand t
:mode "\\.build\\'") :mode "\\.build\\'")
;; Crystal
(use-package crystal-mode
:ensure t
:mode "\\.cr\\'")
;; rust-mode ;; rust-mode
(use-package rust-mode (use-package rust-mode
:ensure t :ensure t

View file

@ -52,16 +52,20 @@ bother with an explanation on each.
:ensure t :ensure t
:defer 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 ;; Meson
(use-package meson-mode (use-package meson-mode
:demand t :demand t
:mode "\\.build\\'") :mode "\\.build\\'")
;; Crystal
(use-package crystal-mode
:ensure t
:mode "\\.cr\\'")
;; rust-mode ;; rust-mode
(use-package rust-mode (use-package rust-mode
:ensure t :ensure t