Added casual. Updated clojure support.
This commit is contained in:
parent
a74b8b0f9f
commit
b44d7d1c91
7 changed files with 150 additions and 150 deletions
150
README.org
150
README.org
|
|
@ -426,8 +426,9 @@ breeze.
|
||||||
:init
|
:init
|
||||||
(setq parinfer-rust-auto-download t)
|
(setq parinfer-rust-auto-download t)
|
||||||
:hook
|
:hook
|
||||||
emacs-lisp-mode
|
(emacs-lisp-mode . parinfer-rust-mode)
|
||||||
clojure-ts-mode)
|
(clojure-mode . parinfer-rust-mode)
|
||||||
|
(clojure-ts-mode . parinfer-rust-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
I also have =smart-parens= for parentheses matching in modes where =parinfer= would
|
I also have =smart-parens= for parentheses matching in modes where =parinfer= would
|
||||||
|
|
@ -697,6 +698,63 @@ bar.
|
||||||
:config (global-anzu-mode))
|
:config (global-anzu-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Casual
|
||||||
|
|
||||||
|
I'd like to start using transient over hydra. [[https://github.com/kickingvegas/casual][Casual]] does a lot of the
|
||||||
|
leg work for us.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package casual
|
||||||
|
:ensure t
|
||||||
|
:bind
|
||||||
|
("C-o" . casual-editkit-main-tmenu) ;; Global EditKit menu
|
||||||
|
(:map dired-mode-map
|
||||||
|
("C-o" . casual-dired-tmenu)
|
||||||
|
("s" . casual-dired-sort-by-tmenu)
|
||||||
|
("/" . casual-dired-search-replace-tmenu))
|
||||||
|
(:map org-agenda-mode-map
|
||||||
|
("C-o" . casual-agenda-tmenu)
|
||||||
|
("M-j" . org-agenda-clock-goto)
|
||||||
|
("J" . bookmark-jump))
|
||||||
|
(:map ibuffer-mode-map
|
||||||
|
("C-o" . casual-ibuffer-tmenu)
|
||||||
|
("F" . casual-ibuffer-filter-tmenu)
|
||||||
|
("s" . casual-ibuffer-sortby-tmenu)
|
||||||
|
("{" . ibuffer-backwards-next-marked)
|
||||||
|
("}" . ibuffer-forward-next-marked)
|
||||||
|
("[" . ibuffer-backward-filter-group)
|
||||||
|
("]" . ibuffer-forward-filter-group)
|
||||||
|
("$" . ibuffer-toggle-filter-group))
|
||||||
|
(:map calc-mode-map
|
||||||
|
("C-o" . casual-calc-tmenu))
|
||||||
|
(:map calc-alg-map
|
||||||
|
("C-o" . casual-calc-tmenu))
|
||||||
|
(:map eshell-mode-map
|
||||||
|
("C-o" . casual-eshell-tmenu))
|
||||||
|
(:map eww-mode-map
|
||||||
|
("C-o" . casual-eww-tmenu))
|
||||||
|
(:map eww-bookmark-mode-map
|
||||||
|
("C-o" . casual-eww-bookmarks-tmenu))
|
||||||
|
(:map help-mode-map
|
||||||
|
("C-o" . casual-help-tmenu))
|
||||||
|
(:map Info-mode-map
|
||||||
|
("C-o" . casual-info-tmenu))
|
||||||
|
:config
|
||||||
|
;; Dired configuration
|
||||||
|
(add-hook 'dired-mode-hook #'hl-line-mode)
|
||||||
|
(add-hook 'dired-mode-hook #'context-menu-mode)
|
||||||
|
|
||||||
|
;; IBuffer configuration
|
||||||
|
(add-hook 'ibuffer-mode-hook #'hl-line-mode)
|
||||||
|
(add-hook 'ibuffer-mode-hook #'ibuffer-auto-mode)
|
||||||
|
(keymap-set ibuffer-mode-map "<double-mouse-1>" #'ibuffer-visit-buffer)
|
||||||
|
(keymap-set ibuffer-mode-map "M-<double-mouse-1>" #'ibuffer-visit-buffer-other-window)
|
||||||
|
|
||||||
|
;; Info configuration
|
||||||
|
(add-hook 'Info-mode-hook #'hl-line-mode)
|
||||||
|
(add-hook 'Info-mode-hook #'scroll-lock-mode))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Embark
|
** Embark
|
||||||
|
|
||||||
[[https://github.com/oantolin/embark][Embark]] is like a DWIM version of which-key in a sense. Though it is more
|
[[https://github.com/oantolin/embark][Embark]] is like a DWIM version of which-key in a sense. Though it is more
|
||||||
|
|
@ -783,83 +841,13 @@ _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
|
||||||
|
|
@ -1532,6 +1520,7 @@ the package.
|
||||||
:hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode)
|
:hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode)
|
||||||
(c-ts-mode . lsp-deferred)
|
(c-ts-mode . lsp-deferred)
|
||||||
(c++-ts-mode . lsp-deferred)
|
(c++-ts-mode . lsp-deferred)
|
||||||
|
(clojure-mode . lsp-deferred)
|
||||||
(clojure-ts-mode . lsp-deferred)
|
(clojure-ts-mode . lsp-deferred)
|
||||||
(crystal-mode . lsp-deferred)
|
(crystal-mode . lsp-deferred)
|
||||||
(elixir-ts-mode . lsp-deferred)
|
(elixir-ts-mode . lsp-deferred)
|
||||||
|
|
@ -1615,9 +1604,19 @@ bother with an explanation on each.
|
||||||
;; Clojure
|
;; Clojure
|
||||||
(use-package clojure-mode
|
(use-package clojure-mode
|
||||||
:ensure t
|
:ensure t
|
||||||
:after (rainbox-mode)
|
:after (rainbow-mode)
|
||||||
:hook
|
:hook
|
||||||
cider-mode)
|
(clojure-mode . cider-mode)
|
||||||
|
(clojure-mode . (lambda () (setq-local lsp-semantic-tokens-enable nil))))
|
||||||
|
|
||||||
|
(use-package clojure-ts-mode
|
||||||
|
:ensure t
|
||||||
|
:mode (("\\.clj\\'" . clojure-ts-mode)
|
||||||
|
("\\.cljs\\'" . clojure-ts-mode)
|
||||||
|
("\\.cljc\\'" . clojure-ts-mode))
|
||||||
|
:hook
|
||||||
|
(clojure-ts-mode . cider-mode)
|
||||||
|
(clojure-ts-mode . (lambda () (setq-local lsp-semantic-tokens-enable nil))))
|
||||||
|
|
||||||
;; Gleam
|
;; Gleam
|
||||||
(use-package gleam-ts-mode
|
(use-package gleam-ts-mode
|
||||||
|
|
@ -1665,6 +1664,7 @@ and managing my notes.
|
||||||
(use-feature org
|
(use-feature org
|
||||||
:defer t
|
:defer t
|
||||||
:config
|
:config
|
||||||
|
(require 'org-agenda)
|
||||||
(setq org-confirm-babel-evaluate nil)
|
(setq org-confirm-babel-evaluate nil)
|
||||||
:custom
|
:custom
|
||||||
(org-ellipsis (nth 5 '("↴" "˅" "…" " ⬙" " ▽" "▿")))
|
(org-ellipsis (nth 5 '("↴" "˅" "…" " ⬙" " ▽" "▿")))
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,9 @@ breeze.
|
||||||
:init
|
:init
|
||||||
(setq parinfer-rust-auto-download t)
|
(setq parinfer-rust-auto-download t)
|
||||||
:hook
|
:hook
|
||||||
emacs-lisp-mode
|
(emacs-lisp-mode . parinfer-rust-mode)
|
||||||
clojure-ts-mode)
|
(clojure-mode . parinfer-rust-mode)
|
||||||
|
(clojure-ts-mode . parinfer-rust-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
I also have =smart-parens= for parentheses matching in modes where =parinfer= would
|
I also have =smart-parens= for parentheses matching in modes where =parinfer= would
|
||||||
|
|
|
||||||
|
|
@ -25,81 +25,11 @@ _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
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ the package.
|
||||||
:hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode)
|
:hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode)
|
||||||
(c-ts-mode . lsp-deferred)
|
(c-ts-mode . lsp-deferred)
|
||||||
(c++-ts-mode . lsp-deferred)
|
(c++-ts-mode . lsp-deferred)
|
||||||
|
(clojure-mode . lsp-deferred)
|
||||||
(clojure-ts-mode . lsp-deferred)
|
(clojure-ts-mode . lsp-deferred)
|
||||||
(crystal-mode . lsp-deferred)
|
(crystal-mode . lsp-deferred)
|
||||||
(elixir-ts-mode . lsp-deferred)
|
(elixir-ts-mode . lsp-deferred)
|
||||||
|
|
|
||||||
|
|
@ -30,9 +30,19 @@ bother with an explanation on each.
|
||||||
;; Clojure
|
;; Clojure
|
||||||
(use-package clojure-mode
|
(use-package clojure-mode
|
||||||
:ensure t
|
:ensure t
|
||||||
:after (rainbox-mode)
|
:after (rainbow-mode)
|
||||||
:hook
|
:hook
|
||||||
cider-mode)
|
(clojure-mode . cider-mode)
|
||||||
|
(clojure-mode . (lambda () (setq-local lsp-semantic-tokens-enable nil))))
|
||||||
|
|
||||||
|
(use-package clojure-ts-mode
|
||||||
|
:ensure t
|
||||||
|
:mode (("\\.clj\\'" . clojure-ts-mode)
|
||||||
|
("\\.cljs\\'" . clojure-ts-mode)
|
||||||
|
("\\.cljc\\'" . clojure-ts-mode))
|
||||||
|
:hook
|
||||||
|
(clojure-ts-mode . cider-mode)
|
||||||
|
(clojure-ts-mode . (lambda () (setq-local lsp-semantic-tokens-enable nil))))
|
||||||
|
|
||||||
;; Gleam
|
;; Gleam
|
||||||
(use-package gleam-ts-mode
|
(use-package gleam-ts-mode
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ and managing my notes.
|
||||||
(use-feature org
|
(use-feature org
|
||||||
:defer t
|
:defer t
|
||||||
:config
|
:config
|
||||||
|
(require 'org-agenda)
|
||||||
(setq org-confirm-babel-evaluate nil)
|
(setq org-confirm-babel-evaluate nil)
|
||||||
:custom
|
:custom
|
||||||
(org-ellipsis (nth 5 '("↴" "˅" "…" " ⬙" " ▽" "▿")))
|
(org-ellipsis (nth 5 '("↴" "˅" "…" " ⬙" " ▽" "▿")))
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,63 @@ bar.
|
||||||
:config (global-anzu-mode))
|
:config (global-anzu-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Casual
|
||||||
|
|
||||||
|
I'd like to start using transient over hydra. [[https://github.com/kickingvegas/casual][Casual]] does a lot of the
|
||||||
|
leg work for us.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package casual
|
||||||
|
:ensure t
|
||||||
|
:bind
|
||||||
|
("C-o" . casual-editkit-main-tmenu) ;; Global EditKit menu
|
||||||
|
(:map dired-mode-map
|
||||||
|
("C-o" . casual-dired-tmenu)
|
||||||
|
("s" . casual-dired-sort-by-tmenu)
|
||||||
|
("/" . casual-dired-search-replace-tmenu))
|
||||||
|
(:map org-agenda-mode-map
|
||||||
|
("C-o" . casual-agenda-tmenu)
|
||||||
|
("M-j" . org-agenda-clock-goto)
|
||||||
|
("J" . bookmark-jump))
|
||||||
|
(:map ibuffer-mode-map
|
||||||
|
("C-o" . casual-ibuffer-tmenu)
|
||||||
|
("F" . casual-ibuffer-filter-tmenu)
|
||||||
|
("s" . casual-ibuffer-sortby-tmenu)
|
||||||
|
("{" . ibuffer-backwards-next-marked)
|
||||||
|
("}" . ibuffer-forward-next-marked)
|
||||||
|
("[" . ibuffer-backward-filter-group)
|
||||||
|
("]" . ibuffer-forward-filter-group)
|
||||||
|
("$" . ibuffer-toggle-filter-group))
|
||||||
|
(:map calc-mode-map
|
||||||
|
("C-o" . casual-calc-tmenu))
|
||||||
|
(:map calc-alg-map
|
||||||
|
("C-o" . casual-calc-tmenu))
|
||||||
|
(:map eshell-mode-map
|
||||||
|
("C-o" . casual-eshell-tmenu))
|
||||||
|
(:map eww-mode-map
|
||||||
|
("C-o" . casual-eww-tmenu))
|
||||||
|
(:map eww-bookmark-mode-map
|
||||||
|
("C-o" . casual-eww-bookmarks-tmenu))
|
||||||
|
(:map help-mode-map
|
||||||
|
("C-o" . casual-help-tmenu))
|
||||||
|
(:map Info-mode-map
|
||||||
|
("C-o" . casual-info-tmenu))
|
||||||
|
:config
|
||||||
|
;; Dired configuration
|
||||||
|
(add-hook 'dired-mode-hook #'hl-line-mode)
|
||||||
|
(add-hook 'dired-mode-hook #'context-menu-mode)
|
||||||
|
|
||||||
|
;; IBuffer configuration
|
||||||
|
(add-hook 'ibuffer-mode-hook #'hl-line-mode)
|
||||||
|
(add-hook 'ibuffer-mode-hook #'ibuffer-auto-mode)
|
||||||
|
(keymap-set ibuffer-mode-map "<double-mouse-1>" #'ibuffer-visit-buffer)
|
||||||
|
(keymap-set ibuffer-mode-map "M-<double-mouse-1>" #'ibuffer-visit-buffer-other-window)
|
||||||
|
|
||||||
|
;; Info configuration
|
||||||
|
(add-hook 'Info-mode-hook #'hl-line-mode)
|
||||||
|
(add-hook 'Info-mode-hook #'scroll-lock-mode))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Embark
|
** Embark
|
||||||
|
|
||||||
[[https://github.com/oantolin/embark][Embark]] is like a DWIM version of which-key in a sense. Though it is more
|
[[https://github.com/oantolin/embark][Embark]] is like a DWIM version of which-key in a sense. Though it is more
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue