NTKY2LPKFRS6RYKCYNW43TVCRNPTHG75PZ5KZHLHAZYTTLDK4EEQC
DDXRI6NILB2DKGWTZSC2DKQ25F3OATBAI7STTKJTKKUHF5XL24UAC
RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC
A3TVGLVHSVLMEHLHB3TPBSD3QGNVGX3DIK6BEBDTTHWBNW4ALMRAC
YXDBKG5MWREH25GV2RUUW7ZI4P2XBNMZSB77WND3A6LUAL4NN63QC
IOXOZB2VUXVUEINLFBT4SPSJV32X5ZFT5FKSVRAIEXEFQJLG6MHQC
PD25BRQUV6E3SZVTHGTC5M4UIGV763U2E73CTND5O2LYWOPWZJIQC
RBGV5L2RZ3QLWUYDVYEZ4YVTUS5BD4VYUQSYSPV2GXU6BSV3EFIQC
3YIUSMARD6GW5TXV7VTC6U5YGPCTD63QATPKBQUTEO7VOFNS3N3AC
(use-package evil-smartparens
:ensure t
:after smartparens
:config
(evil-smartparens-mode 1)
(progn ;; wrapping
(define-key evil-normal-state-map ",W" 'sp-wrap-round)
(define-key cider-mode-map (kbd "C-, W") 'sp-wrap-round)
(define-key cider-mode-map (kbd "C-, C-W") 'sp-wrap-round)
(define-key evil-normal-state-map ",w(" 'sp-wrap-round)
(define-key evil-normal-state-map ",w)" 'sp-wrap-round)
(define-key cider-mode-map (kbd "C-, w (") 'sp-wrap-round)
(define-key cider-mode-map (kbd "C-, w )") 'sp-wrap-round)
(define-key evil-normal-state-map ",w{" 'sp-wrap-curly)
(define-key evil-normal-state-map ",w}" 'sp-wrap-curly)
(define-key cider-mode-map (kbd "C-, w {") 'sp-wrap-curly)
(define-key cider-mode-map (kbd "C-, w }") 'sp-wrap-curly)
(define-key evil-normal-state-map ",w[" 'sp-wrap-square)
(define-key evil-normal-state-map ",w]" 'sp-wrap-square)
(define-key cider-mode-map (kbd "C-, w [") 'sp-wrap-square)
(define-key cider-mode-map (kbd "C-, w ]") 'sp-wrap-square)
(define-key evil-normal-state-map ",w\"" 'wrap-with-doublequote)
(define-key cider-mode-map (kbd "C-, w \"") 'sp-wrap-doublequote))
(progn ;; splicing
(define-key evil-normal-state-map ",S" 'sp-splice-sexp)
(define-key cider-mode-map (kbd "C-, S") 'sp-splice-sexp)
(define-key cider-mode-map (kbd "C-, C-S") 'sp-splice-sexp)
(define-key evil-normal-state-map ",A" 'sp-splice-sexp-killing-backward)
(define-key cider-mode-map (kbd "C-, A") 'sp-splice-sexp-killing-backward)
(define-key cider-mode-map (kbd "C-, C-A") 'sp-splice-sexp-killing-backward)
(define-key evil-normal-state-map ",D" 'sp-splice-sexp-killing-forward)
(define-key cider-mode-map (kbd "C-, D") 'sp-splice-sexp-killing-forward)
(define-key cider-mode-map (kbd "C-, C-D") 'sp-splice-sexp-killing-forward)
(define-key evil-normal-state-map ",F" 'sp-splice-sexp-killing-around)
(define-key cider-mode-map (kbd "C-, F") 'sp-splice-sexp-killing-around)
(define-key cider-mode-map (kbd "C-, C-F") 'sp-splice-sexp-killing-around))
(progn ;; barf/slurp
(define-key evil-normal-state-map ",," 'sp-backward-barf-sexp)
(define-key cider-mode-map (kbd "C-, ,") 'sp-backward-barf-sexp)
(define-key cider-mode-map (kbd "C-, C-,") 'sp-backward-barf-sexp)
(define-key evil-normal-state-map ",." 'sp-forward-barf-sexp)
(define-key cider-mode-map (kbd "C-, .") 'sp-forward-barf-sexp)
(define-key cider-mode-map (kbd "C-, C-.") 'sp-forward-barf-sexp)
(define-key evil-normal-state-map ",<" 'sp-backward-slurp-sexp)
(define-key cider-mode-map (kbd "C-, <") 'sp-backward-slurp-sexp)
(define-key cider-mode-map (kbd "C-, C-<") 'sp-backward-slurp-sexp)
(define-key evil-normal-state-map ",>" 'sp-forward-slurp-sexp)
(define-key cider-mode-map (kbd "C-, >") 'sp-forward-slurp-sexp)
(define-key cider-mode-map (kbd "C-, C->") 'sp-forward-slurp-sexp)
)
(progn ;; misc
(define-key evil-normal-state-map ",~" 'sp-convolute-sexp)
(define-key evil-normal-state-map ",a" 'sp-absorb-sexp)
(define-key evil-normal-state-map ",e" 'sp-emit-sexp)
(define-key evil-normal-state-map ",`" 'sp-clone-sexp)
(define-key evil-normal-state-map ",J" 'sp-join-sexp)
(define-key evil-normal-state-map ",|" 'sp-split-sexp))
(progn ;; narrowing
(define-key evil-normal-state-map " n(" 'sp-narrow-to-sexp)
(define-key evil-normal-state-map " n)" 'sp-narrow-to-sexp)
(define-key evil-normal-state-map " nn" 'narrow-to-defun)
(define-key evil-normal-state-map " nr" 'narrow-to-region)
(define-key evil-normal-state-map " nw" 'widen)))
;; (use-package evil-paredit
;; :ensure t
;; :after paredit
;; :config
;; (evil-paredit-mode))
(use-package evil-surround
:ensure t
:after evil
:config
(global-evil-surround-mode))
(use-package evil-leader
:after evil
:config (evil-leader/set-leader "ß"))
(use-package evil-smartparens
:ensure t
:after evil smartparens
:config
(evil-smartparens-mode 1)
;;(use-package evil-numbers
;; :ensure t
;; :config
;; (global-set-key (kbd "C-c +") 'evil-numbers/inc-at-pt)
;; (global-set-key (kbd "C-c -") 'evil-numbers/dec-at-pt))
(define-key evil-normal-state-map ",w(" 'sp-wrap-round)
(define-key evil-normal-state-map ",w)" 'sp-wrap-round)
(define-key cider-mode-map (kbd "C-, w (") 'sp-wrap-round)
(define-key cider-mode-map (kbd "C-, w )") 'sp-wrap-round)
(use-package evil-surround
:ensure t
:config
(global-evil-surround-mode))
(define-key evil-normal-state-map ",w$" 'wrap-in-dollar-brace)
(define-key evil-normal-state-map ",w{" 'sp-wrap-curly)
(define-key evil-normal-state-map ",w}" 'sp-wrap-curly)
(define-key cider-mode-map (kbd "C-, w {") 'sp-wrap-curly)
(define-key cider-mode-map (kbd "C-, w }") 'sp-wrap-curly)
(define-key evil-normal-state-map ",w[" 'sp-wrap-square)
(define-key evil-normal-state-map ",w]" 'sp-wrap-square)
(define-key cider-mode-map (kbd "C-, w [") 'sp-wrap-square)
(define-key cider-mode-map (kbd "C-, w ]") 'sp-wrap-square)
(define-key evil-normal-state-map ",w\"" 'wrap-with-doublequote)
(define-key cider-mode-map (kbd "C-, w \"") 'sp-wrap-doublequote))
(use-package evil-leader
:config (evil-leader/set-leader "ß")))
(progn ;; splicing
(define-key evil-normal-state-map ",S" 'sp-splice-sexp)
(define-key cider-mode-map (kbd "C-, S") 'sp-splice-sexp)
(define-key cider-mode-map (kbd "C-, C-S") 'sp-splice-sexp)
(define-key evil-normal-state-map ",A" 'sp-splice-sexp-killing-backward)
(define-key cider-mode-map (kbd "C-, A") 'sp-splice-sexp-killing-backward)
(define-key cider-mode-map (kbd "C-, C-A") 'sp-splice-sexp-killing-backward)
(define-key evil-normal-state-map ",D" 'sp-splice-sexp-killing-forward)
(define-key cider-mode-map (kbd "C-, D") 'sp-splice-sexp-killing-forward)
(define-key cider-mode-map (kbd "C-, C-D") 'sp-splice-sexp-killing-forward)
(define-key evil-normal-state-map ",F" 'sp-splice-sexp-killing-around)
(define-key cider-mode-map (kbd "C-, F") 'sp-splice-sexp-killing-around)
(define-key cider-mode-map (kbd "C-, C-F") 'sp-splice-sexp-killing-around))
(progn ;; barf/slurp
(define-key evil-normal-state-map ",," 'sp-backward-barf-sexp)
(define-key cider-mode-map (kbd "C-, ,") 'sp-backward-barf-sexp)
(define-key cider-mode-map (kbd "C-, C-,") 'sp-backward-barf-sexp)
(define-key evil-normal-state-map ",." 'sp-forward-barf-sexp)
(define-key cider-mode-map (kbd "C-, .") 'sp-forward-barf-sexp)
(define-key cider-mode-map (kbd "C-, C-.") 'sp-forward-barf-sexp)
(define-key evil-normal-state-map ",<" 'sp-backward-slurp-sexp)
(define-key cider-mode-map (kbd "C-, <") 'sp-backward-slurp-sexp)
(define-key cider-mode-map (kbd "C-, C-<") 'sp-backward-slurp-sexp)
(define-key evil-normal-state-map ",>" 'sp-forward-slurp-sexp)
(define-key cider-mode-map (kbd "C-, >") 'sp-forward-slurp-sexp)
(define-key cider-mode-map (kbd "C-, C->") 'sp-forward-slurp-sexp))
(progn ;; misc
(define-key evil-normal-state-map ",~" 'sp-convolute-sexp)
(define-key evil-normal-state-map ",a" 'sp-absorb-sexp)
(define-key evil-normal-state-map ",e" 'sp-emit-sexp)
(define-key evil-normal-state-map ",`" 'sp-clone-sexp)
(define-key evil-normal-state-map ",J" 'sp-join-sexp)
(define-key evil-normal-state-map ",|" 'sp-split-sexp))
(progn ;; narrowing
(define-key evil-normal-state-map " n(" 'sp-narrow-to-sexp)
(define-key evil-normal-state-map " n)" 'sp-narrow-to-sexp)
(define-key evil-normal-state-map " nn" 'narrow-to-defun)
(define-key evil-normal-state-map " nr" 'narrow-to-region)
(define-key evil-normal-state-map " nw" 'widen)))