diff options
-rw-r--r-- | tw/home.scm | 1 | ||||
-rw-r--r-- | tw/home/files/emacs-init.el | 31 |
2 files changed, 30 insertions, 2 deletions
diff --git a/tw/home.scm b/tw/home.scm index d1308065..bfa9f5c5 100644 --- a/tw/home.scm +++ b/tw/home.scm @@ -337,6 +337,7 @@ emacs-evil-traces emacs-evil-commentary emacs-evil-replace-with-register + emacs-evil-cleverparens emacs-evil-org emacs-evil-markdown emacs-evil-tex diff --git a/tw/home/files/emacs-init.el b/tw/home/files/emacs-init.el index 56db4fa6..03255351 100644 --- a/tw/home/files/emacs-init.el +++ b/tw/home/files/emacs-init.el @@ -430,6 +430,28 @@ If CREATE is true and the resulting directory does not exist, create it." (evil-define-key 'normal ledger-mode-map (kbd "TAB") #'ledger-indent-line)) +(use-package lisp + :init (which-key-add-key-based-replacements + "<leader>k" '("sexp-nav" . "S-expression navigation")) + :bind (("<leader>kl" . forward-sexp) + ("<leader>kh" . backward-sexp) + ("<leader>kL" . forward-list) + ("<leader>kH" . backward-list) + ("<leader>kj" . down-list) + ("<leader>kk" . up-list) + ("<leader>kK" . backward-up-list) + ("<leader>kd" . kill-sexp) + ("<leader>kD" . backward-kill-sexp) + ("<leader>kb" . beginning-of-defun) + ("<leader>kB" . beginning-of-defun-comments) + ("<leader>ke" . end-of-defun) + ("<leader>kv" . mark-sexp) + ("<leader>kV" . mark-defun) + ("<leader>kN" . narrow-to-defun) + ("<leader>ks" . insert-pair) + ("<leader>kr" . raise-sexp) + ("<leader>kc" . check-parens))) + (defun tw/resize-repl-window () "Make the REPL window small, so it stays out of the way." (shrink-window (- (window-height) 5))) @@ -757,9 +779,14 @@ For use in `org-latex-classes'." :commands (global-evil-surround-mode) :demand t :config (global-evil-surround-mode +1)) -(use-package evil-smartparens +(use-package smartparens ; required by evil-cleverparens + :custom + ;; (sp-sexp-prefix '() "Set up Guix gexp-related sexp prefixes.") + ) + +(use-package evil-cleverparens :after (evil smartparens) - :hook smartparens-enabled-hook) + :hook ((lisp-mode lisp-data-mode scheme-mode) . evil-cleverparens-mode)) (use-package evil-multiedit ;; See: https://github.com/hlissner/evil-multiedit#usage |