Skip to content
kevinfis edited this page Sep 19, 2023 · 4 revisions

Paredit is very useful to handle parenthsis, in the same time, lots functions need to be bound. Thanks Hydra, let it can be integrate just one place. this hydra function tests in resolution 2560x1440, and use a lot unicode char to decorate, so you need to change char if you lack some font or install supposed font. here is Screenshoot: hydra-paredit

(defhydra hydra-paredit (:color pink )
    "
    Move 𝐶𝑢𝑟𝑠𝑜𝑟				  🮡
   🮠  In():  ⃰_i9_⃰› ⃓↑⎛⬎┃ ) ⃰_i0_⃰› (  ┃⬐⎞↑⃓  🮡       ⃰_8_⃰›front·barf▻   ↓▁⎛ַ↑ )         ⃰_9_⃰› ┃⎛wrap⎠        ⃰_0_⃰›  ( ַ↑⎠▁⮯  ◅back·barf
  ╵					   ╵					 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾
  ╵   Out():  ⃰_o9_⃰› ↓┃⎛↑⃓ )  _o0_› ( ⃓↑⎞↓❙     ╵          ⃰_p_⃰›front·slurp▻  ַ↑⎛⮯▁  				 ⃰ _\\_ ⃰›  ▁⮮⎠ַ↑  ◅back·slur
  🮡────────────────────────────────────────🮠
     Leave():  ⃰_;_⃰  ⃰_'_⃰›  ↓❙(  ⇠pre.⃓ ﹑ ⃓next⇢ )┃↓	Wrap():    ⃰C-u _9_⃰›   (sym┃ ⇢₎  ┈  ➜)↓eobp.
  🮡─────────────────────────────────────────────────🮢	  Wrap[]<>{}:	⃰_[_⃰›  ┃⟦sym⟧       ⃰_,_⃰ ›  ┃🮤sym🮥       ⃰_{_⃰ ›  ⎨sym⎬
       ⃰_k_⃰›  ⃰ kill ⎛𝑠𝑦𝑚⎠ ⃰		            🮡────────────────────────────────────────────────────────────────────────
       ⃰_m_⃰›  ⃰ mark ⎛𝑠𝑦𝑚⎠ ⃰       _r_ ›  ⧘ Remove ⧙      _j_ › ( ₎ Join ₍ )     ⃰ _/_ ⃰ › Apart ▻  ( ) _/_ ( )        _C-q_ , _q_ › quit
    ──────────────────────⍲──────────────────────⍲─────────────────────⍲────────────────────────────────
"
    ("q" nil)
    ("C-q" nil)
    ("C-g" nil)
    ("p" paredit-backward-barf-sexp)
    ("\\" paredit-forward-barf-sexp)

    ("r" paredit-splice-sexp)
    ("k" kill-sexp)
    ("m" mark-sexp)
    ("c" paredit-copy-as-kill)
    ("j" paredit-join-sexps)
    ("/" paredit-split-sexp)

    ("o9" paredit-backward-up)
    ("o0" paredit-forward-up)
    ("i9" paredit-backward-down)
    ("i0" paredit-forward-down)
    (";" paredit-backward)
    ("'" paredit-forward)

    ("8" paredit-backward-slurp-sexp)
    ("9" paredit-wrap-round)
    ("0" paredit-forward-slurp-sexp)
    ("," paredit-wrap-angled)
    ("[" paredit-wrap-square)
    ("{" paredit-wrap-curly)
    ;; ("]" paredit-close-square)
    ;; ("." paredit-close-angled)  ;; ?
    ;; ("}" paredit-close-curly)
)
(define-key dired-mode-map "M-9" 'hydra-paredit/body)
Clone this wiki locally