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
|
||||
(setq parinfer-rust-auto-download t)
|
||||
:hook
|
||||
emacs-lisp-mode
|
||||
clojure-ts-mode)
|
||||
(emacs-lisp-mode . parinfer-rust-mode)
|
||||
(clojure-mode . parinfer-rust-mode)
|
||||
(clojure-ts-mode . parinfer-rust-mode))
|
||||
#+end_src
|
||||
|
||||
I also have =smart-parens= for parentheses matching in modes where =parinfer= would
|
||||
|
|
@ -697,6 +698,63 @@ bar.
|
|||
:config (global-anzu-mode))
|
||||
#+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
|
||||
|
||||
[[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)
|
||||
#+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
|
||||
<<tab-hydra>>
|
||||
<<window-hydra>>)
|
||||
<<tab-hydra>>)
|
||||
#+end_src
|
||||
|
||||
# #+INCLUDE: "config/bufferlo.org" :minlevel 1
|
||||
|
|
@ -1532,6 +1520,7 @@ the package.
|
|||
:hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode)
|
||||
(c-ts-mode . lsp-deferred)
|
||||
(c++-ts-mode . lsp-deferred)
|
||||
(clojure-mode . lsp-deferred)
|
||||
(clojure-ts-mode . lsp-deferred)
|
||||
(crystal-mode . lsp-deferred)
|
||||
(elixir-ts-mode . lsp-deferred)
|
||||
|
|
@ -1615,9 +1604,19 @@ bother with an explanation on each.
|
|||
;; Clojure
|
||||
(use-package clojure-mode
|
||||
:ensure t
|
||||
:after (rainbox-mode)
|
||||
:after (rainbow-mode)
|
||||
: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
|
||||
(use-package gleam-ts-mode
|
||||
|
|
@ -1665,6 +1664,7 @@ and managing my notes.
|
|||
(use-feature org
|
||||
:defer t
|
||||
:config
|
||||
(require 'org-agenda)
|
||||
(setq org-confirm-babel-evaluate nil)
|
||||
:custom
|
||||
(org-ellipsis (nth 5 '("↴" "˅" "…" " ⬙" " ▽" "▿")))
|
||||
|
|
|
|||
|
|
@ -13,8 +13,9 @@ breeze.
|
|||
:init
|
||||
(setq parinfer-rust-auto-download t)
|
||||
:hook
|
||||
emacs-lisp-mode
|
||||
clojure-ts-mode)
|
||||
(emacs-lisp-mode . parinfer-rust-mode)
|
||||
(clojure-mode . parinfer-rust-mode)
|
||||
(clojure-ts-mode . parinfer-rust-mode))
|
||||
#+end_src
|
||||
|
||||
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)
|
||||
#+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
|
||||
<<tab-hydra>>
|
||||
<<window-hydra>>)
|
||||
<<tab-hydra>>)
|
||||
#+end_src
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ the package.
|
|||
:hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode)
|
||||
(c-ts-mode . lsp-deferred)
|
||||
(c++-ts-mode . lsp-deferred)
|
||||
(clojure-mode . lsp-deferred)
|
||||
(clojure-ts-mode . lsp-deferred)
|
||||
(crystal-mode . lsp-deferred)
|
||||
(elixir-ts-mode . lsp-deferred)
|
||||
|
|
|
|||
|
|
@ -30,9 +30,19 @@ bother with an explanation on each.
|
|||
;; Clojure
|
||||
(use-package clojure-mode
|
||||
:ensure t
|
||||
:after (rainbox-mode)
|
||||
:after (rainbow-mode)
|
||||
: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
|
||||
(use-package gleam-ts-mode
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ and managing my notes.
|
|||
(use-feature org
|
||||
:defer t
|
||||
:config
|
||||
(require 'org-agenda)
|
||||
(setq org-confirm-babel-evaluate nil)
|
||||
:custom
|
||||
(org-ellipsis (nth 5 '("↴" "˅" "…" " ⬙" " ▽" "▿")))
|
||||
|
|
|
|||
|
|
@ -24,6 +24,63 @@ bar.
|
|||
:config (global-anzu-mode))
|
||||
#+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
|
||||
|
||||
[[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